繁体   English   中英

为Resque之类的Rails部署后台工作者到CloudFoundry

[英]Deploying background worker for rails like Resque into CloudFoundry

当前正在使用Rails构建活动的仪表盘,该仪表盘需要进行后台处理以保持对数据的轮询,然后再使仪表盘保持最新状态。 我可以使用Resque,Resque-Scheduler和Redis Server来实现这一目标,并且可以在本地正常运行 所有代码都被烘焙到Rails应用程序中,例如,如果用户访问了仪表板页面,则在dashboard_controller内,我将作业排队

Resque.enqueue(BackgroundJob, params)

我有工人从app / worker / background_job.rb执行工作

class BackgroundJob
  @queue = :backgroundq

  def self.perform
    < PERFORM CODE HERE>
  end
end

问题:

当我不得不部署到Cloudfoundry时,它指示我以不同的名称部署两次相同的代码1.作为Rails应用程序(Web Process)2.作为Ruby无路由应用程序,用于后台工作人员绑定到相同的Redis服务云。 如果他们生活在两个不同的应用程序空间中,并且彼此之间如何通信,则我在这里不了解其流程? 因为我需要来回交流大量数据。 当然,我缺少一些基本的应用程序体系结构设计。 有人可以解释一下我该怎么做吗?

是的,您会错过某些事情,因为Rails应用程序和工作程序的过程是不同的。 调用Resque.enqueue(BackgroundJob, params)您将通过redis与worker通信。 因此,如果您想与他人交流,则必须使用redis或postgres或事件文本文件。

您可以获得有关任务的更多信息吗?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM