Ruby on rails 如何在rails中创建一个以一年为间隔运行的延迟作业?
我想创建一个延迟作业,它将在一年间隔后连续运行?那是在每年的特定日期。如何使用延迟作业实现此目的?使用。是很好的screenacast使用,因此您可以将运行时间添加为参数,如下所示:Ruby on rails 如何在rails中创建一个以一年为间隔运行的延迟作业?,ruby-on-rails,scheduled-tasks,delayed-job,Ruby On Rails,Scheduled Tasks,Delayed Job,我想创建一个延迟作业,它将在一年间隔后连续运行?那是在每年的特定日期。如何使用延迟作业实现此目的?使用。是很好的screenacast使用,因此您可以将运行时间添加为参数,如下所示: Notifier.delay(run_at: 1.years.from_now).signup(@user) 看 要将此代码作为日常任务运行,您需要阅读并查看我个人喜欢的内容。从文档中,您将有很多方法来安排任务: require 'rufus-scheduler' scheduler = Rufus::Sche
Notifier.delay(run_at: 1.years.from_now).signup(@user)
看
要将此代码作为日常任务运行,您需要阅读并查看我个人喜欢的内容。从文档中,您将有很多方法来安排任务:
require 'rufus-scheduler'
scheduler = Rufus::Scheduler.new
# ...
scheduler.in '10d' do
# do something in 10 days
end
scheduler.at '2030/12/12 23:30:00' do
# do something at a given point in time
end
scheduler.every '3h' do
# do something every 3 hours
end
scheduler.cron '5 0 * * *' do
# do something every day, five minutes after midnight
# (see "man 5 crontab" in your terminal)
end
另外,请注意,如果您终止了应用程序,它将失去计划,因此建议您将信息保存在数据库中,并在启动时检索它。谢谢您的回答。但它只运行一次?我想在每年的某个特定日期运行它。我更新了我的解决方案,使之成为运行以前代码的日常任务,我希望它会有所帮助:)我同意@grosefaid。您不想为此使用延迟作业。无论何时使用像
这样的gem
,这是cron
的一个很好的ruby抽象。