我正在使用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