ActiveJob:如何在启动服务器时自动开始一个作业

3
例如,我有一个工作需要每小时执行一次。以下是我的代码:
class NewsletterJob < ApplicationJob
  queue_as :default

  after_perform do |job|
     NewsletterJob.set(wait: 1.hour).perform_later user
  end

  def perform(*args)
    puts "I am busy mailing newsletter."
  end
end

我的问题是:如何调用上述代码,并满足以下2个条件:
  • 在服务器启动时自动运行。
  • 只运行一次。例如,我使用sidekiq作为消息队列。因此,我希望下次重新启动服务器时,只有一个作业实例可用。

1
这个问题可能很有用:https://dev59.com/X2gu5IYBdhLWcg3w8LWv - Slava.K
1个回答

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接