如何在cron作业(rails)中放置文件名



我使用的是每当gem。我要找跑腿的。我给同样的工作打了3个电话。我不确定哪一个在这里工作。

我使用命令whenever --update-crontab project_name 然后crontab -l

Schedule.rb

set :output, 'log/whenever.log'
every 1.days , :at => '03:51 pm' do 
 runner "SomeJob.perform_later", filename: '/app/jobs/some_job.rb'
end
every 1.days , :at => '03:51 pm' do
  runner "SomeJob.perform_later", filename: './app/jobs/some_job.rb'
end
every 1.days , :at => '03:51 pm' do
  runner "SomeJob.perform_later"
end

而且这些只运行一次。我在这里调试有困难。

谁能说出哪一个是正确的?在这种情况下,正确的调试方法是什么?

运行crontab -l给我这个-

51,51,51 16 * * * /bin/bash -l -c 'cd /home/rahul/orthoweb && bin/rails runner -e production '''InvestigationStopJob.perform_later''' >> log/whenever.log 2>&1

为了在开发环境中运行,我运行了这个命令-

whenever --update-crontab --set environment='development'

但是这给了我这个信息-

## [message] Above is your schedule file converted to cron syntax; your crontab file was not updated.

在开发模式下运行作业存在一些问题。在运行作业和调度程序之前,必须关闭所有选项卡。

不需要更改计划文件中env的设置。要在开发中运行,请使用

whenever --update-crontab --set environment='development'

未指定文件名的作业不能正常运行。下面的行可以正常工作。

every 1.days , :at => '03:51 pm' do runner "SomeJob.perform_later", filename: '/app/jobs/some_job.rb' end

我认为,结果crontab只包含这些任务中的一个,因为它们被覆盖了。

请输入whenever查看生成的crontab。我想只有一个入口。

最新更新