当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 如何处理轨道无限/无限过程

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在使用Amazon SQS队列,我有一个消耗队列中消息的类.我试图尽可能接近实时消息,所以我需要消耗代码无休止地运行.队列中的消息将持续超过半天. 有一些我遇到的解决方案无休止地运
我正在使用Amazon SQS队列,我有一个消耗队列中消息的类.我试图尽可能接近实时消息,所以我需要消耗代码无休止地运行.队列中的消息将持续超过半天.

有一些我遇到的解决方案无休止地运行这个,我想知道是否有这种需求的最佳实践.

选项1

在Web服务器上使用delayed_job或sidekiq在后台连续运行该进程.

选项2

让一个单独的服务器具有专用于使用消息的ruby应用程序.

选项3

将SQS使用者置于rake任务中并使用系统调用在后台触发任务.

任何见解都表示赞赏!

你可以使用 shoryuken.

它将持续消耗您的消息,直到您的队列有消息.

shoryuken -r your_worker.rb -C shoryuken.yml \
  -l log/shoryuken.log -p shoryuken.pid -d
网友评论