【发布时间】:2012-09-30 15:50:30
【问题描述】:
在 Heroku 上运行连续工作进程的最佳方式是什么?我的应用程序需要这个进程 24/7 运行,所以delayed_job 或其他队列似乎有点矫枉过正。我可以通过 Heroku 控制台手动触发该过程,并且可以将其分离并自行运行。
最好,我只想将这个单一方法调用分配给一个测功机,这样当我的应用程序启动时,它会启动额外的 worker-dyno,然后调用我的单一方法并开始嗡嗡作响。但不确定如何分配该方法调用?
我可以使用延迟工作,它可以解决所有问题,但似乎我需要一个立即(调用时)而不是计划的独特活动。但也许这是唯一的方法。
【问题讨论】:
-
您能否举例说明这个长期运行的过程可能会做什么?
-
@ThomasKlemm 这是一个服务器状态应用程序,所以进程正在监控多个应用程序并频繁发出 HTTP 请求。
-
频繁的 HTTP 请求可能会让您选择 Sidekiq 作为后台工作人员而不是延迟作业,当与像 this special one 这样的线程安全 HTTP 客户端结合使用时,这可能会以非阻塞方式执行它们。也就是说,我将在下面发布一个答案,它可能会更符合您的要求。
标签: ruby-on-rails heroku