如何将通过cron任务调用的Rails Rake任务输出移植到Rails生产服务器输出?

问题描述 投票:0回答:1

我在crontab中有一系列cron作业。 cron作业通过以下格式调用Rake任务:

* * * * * /bin/sh -l -c 'cd /app && bundle exec rake foo:bar[baz] >> /var/log/foobar_sync.log 2>&1'

我以为我正在通过2>&1将它们的输出(通过puts重定向到STDOUT,但是我想我正在错误地解决此问题。

如何将这些Rake任务的输出以及Rails服务器日志本身重定向到Rails服务器日志输出中,以便可以在Rails服务器输出旁边看到它们的输出?

ruby-on-rails unix logging cron stdout
1个回答
0
投票

由于操作系统体系结构的简单性,[我确定没有办法(也许除了黑客入侵Linux之外)将Rake任务的STDOUT集成到Rails服务器的STDOUT中。

我通过以下操作解决了我的问题:

  1. 在Rails控制器中调用Rake任务的目标方法。
  2. 通过Rails路由调用Rails控制器的方法。
  3. 通过crontab中的curl调用Rails路线。

现在在Rails服务器的STDOUT中可以看到该方法的输出(在我的情况下,是我为其创建ActiveJob的同步任务。)

© www.soinside.com 2019 - 2024. All rights reserved.