用cron job - Sidekiq处理排队作业



我有一个从Twilio接收webhook的Ruby on Rails应用程序,我不想立即处理这些webhook。我想要的是:

  • 在Redis队列中队列webhook
  • 调度一个非作业,在特定间隔后从队列中获取作业,并根据某些条件处理它们
  • 这将在特定的间隔后处理作业,并且我将能够控制玉米作业的频率来处理作业。

应用程序已经与Redis的Sidekiq工作设置,但我无法找到一种方法来排队作业,并在玉米作业的帮助下稍后执行。

关于如何实现上述功能有什么建议吗?我真的很感激你能提供的任何帮助。

您可以尝试以下方法:

  • 创建一个新模型,例如twiliresponse,它保存发送到你的webhook的数据,可能带有一个标志来指示它是否已被处理。
  • 每当数据到来时,创建该模型的新实例并保存到数据库
  • 为任务调度cronjob来抓取所有未处理的twiliresponse实例并处理它们,这可能会转移到Sidekiq或直接在任务
  • 中处理
  • 处理完twiliresponse模型后,将标志设置为processed

最新更新