我正在寻求有关whenever
宝石的帮助。这是我的情况:
我有自己生成的任务,当我通过命令行rake dashboard_data_t:collect
运行它时,它就可以工作。
namespace :dashboard_data_t do
desc "TODO"
task collect: :environment do
#task...
end
end
然后,我按照config/schedule.rb
的方式遵循here提供的文档:
# config/schedule.rb
every :day, at: '10:43 am' do
rake "dashboard_data_t:collect"
end
很高兴这样做,我认为它可以继续运行并独自运行,而无需我做任何其他事情。但是我注意到没有。我以为它可能来自我的任务,所以我创建了另一个任务,这次比第一个更简单。它的目的仅仅是进行试验并找出问题所在:
namespace :test_name do
desc "TODO"
task test_task: :environment do
sh('echo', 'test task runned successfully')
end
end
然后我将以下内容添加到我的config/schedule.rb
:
# config/schedule.rb
every 1.minutes do
rake "test_name:test_task"
end
再一次,任务没有(定期)执行,但仍在手动执行。
我注意到通过运行crontab -e
命令将RAILS_ENV
设置为production
,我理解了为什么dashboard_data_t:collect
任务不起作用,因为它依赖于{{1} } D b。所以我做了以下事情:
development
不幸的是,这没有改变任何东西,因为两个任务仍然没有执行。现在我束手无策。谁能帮我。
干杯。