gpt4 book ai didi

ruby-on-rails - 如何根据表列安排任务?

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:36 25 4
gpt4 key购买 nike

我正在使用 whenever gem 来运行 rake 任务。我在 schedule.rb 中的代码如下。

 every 1.day, :at => '11:00 am' do
rake "notifications:run_mailer"
end

以上代码在每天上午 11 点执行 rake 任务。现在我想改变这个。我想基于表列运行此 rake 任务。为此,我创建了一个名为 scheduler.rb 的表和一个 run_at 列。基于 run_at 列的日期和时间,我需要运行该 rake 任务。如何做到这一点?

最佳答案

第一步:

首先我们必须加载 schedule.rb 中的所有文件然后我们才能执行 ActiveRecord 查询。

这可以通过下面的命令来完成

 require File.expand_path(File.dirname(__FILE__) + "/environment")

第 2 步:

执行 ActiveRecord 查询并获取时间。

  run_at=Scheduler.last.run_at
time=[run_at.hour.to_s,run_at.min.to_s].join(":")
every 1.day, :at => time do
rake "notifications:run_mailer"
end

第 3 步:

我们必须使用以下命令更新 whenever crontab。

 system "whenever --update-crontab"

system 关键字用于在 rails 代码中运行 linux 终端命令。

关于ruby-on-rails - 如何根据表列安排任务?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26249805/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com