我想在通过 IronMQ 的消息队列功能收到的有效负载上在工作人员中启动一个进程。使用 ironMQ 可以创建一个推送队列,但这需要一个 http 端点。
是否可以为 heroku 工作人员设置一个 http 端点,或者我只需要从工作人员那里拉出队列?
有几个选项:
1) 如果您使用 Heroku 工作者,则必须轮询IronMQ以获取消息。这真的很简单,只需像这个 Ruby 示例那样在循环中执行:
while true
msg = queue.get
if msg != nil
process_message(msg)
else
sleep 1 # Be sure to sleep so we don't waste API calls and CPU!
end
end
2) 使用 IronMQ 推送队列来访问 Heroku 应用程序上的端点,而不是使用 Heroku 工作者并将process_message
代码放入该端点。
3)使用IronWorker。