0

我正在寻找 ruby​​ 中的流程,通过它我可以在某些特定时间每天运行任务。我想在某个表中添加一个新任务,在某个列中指定时间,并且该任务应该每天安排,因为该行已添加到表中。我知道 gem 'whenever' 用于调度,但只要我需要在 schedule.rb 中指定时间,它就需要代码部署。我想做什么甚至可能吗?

4

1 回答 1

0

我认为您可以使用cron gem ,这纯粹是用 ruby​​ 编写的,您不需要像 gem 一样设置 cron 作业。但它是如何工作的 cron 在 linux

安装步骤:

gem 'crono'
rails generate crono:install
rake db:migrate # to install it's table

您可以与活动工作合并

class TestJob # This is not an Active Job job, but pretty legal Crono job.
  def perform(*args)
    # put you scheduled code here
    # Comments.deleted.clean_up...
  end
end

并按如下方式进行调度(无需从 OS / cron 设置)

# config/cronotab.rb
Crono.perform(TestJob).every 2.days, at: {hour: 15, min: 30}
Crono.perform(TestJob).every 1.week, on: :monday, at: "15:30"
于 2018-12-26T17:13:52.310 回答