【发布时间】:2015-06-05 01:05:30
【问题描述】:
我想在我通过 IronMQ 的消息队列功能收到的有效负载上在工作人员中启动一个进程。使用 ironMQ 可以创建推送队列,但这需要一个 http 端点。
是否可以为 heroku worker 设置一个 http 端点,或者我只需要从 worker 中提取队列?
【问题讨论】:
标签: node.js http heroku worker ironmq
我想在我通过 IronMQ 的消息队列功能收到的有效负载上在工作人员中启动一个进程。使用 ironMQ 可以创建推送队列,但这需要一个 http 端点。
是否可以为 heroku worker 设置一个 http 端点,或者我只需要从 worker 中提取队列?
【问题讨论】:
标签: node.js http heroku worker ironmq
有几个选项:
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。
【讨论】: