Tag: 发条

与Docker上的sidekiq工作者分离时钟进程

我目前正致力于将我的环境从Heroku移出,部分应用程序运行一个时钟进程,启动一个Sidekiq后台作业。 据我所知,Sidekiq由一个客户端和一个服务器组成,客户端发送作业到Redis队列,服务器取出队列的请求并处理它们。 我现在试图将我的应用程序拆分到Docker上的以下容器中: – Redis容器 – 时钟容器(使用Clockwork gem) – 工作者容器 – Web应用程序容器(Rails) 但是,我不知道如何分裂这个Sidekiq服务器和客户端。 本质上,时钟容器需要在其上运行Sidekiq,以便客户端每隔一段时间就可以将作业发送到Redis队列。 但是,工作容器也应该运行Sidekiq(服务器),以便他们可以处理作业。 我认为分割不同容器之间的责任应该是很有可能的,因为Heroku允许你在不同的dynos上拆分它。 我可以想象做到这一点的一种方法是分配时钟容器来取消一个不存在的队列,这样它就不会从队列中取出任何作业,然后设置工作人员从一个存在的队列中取出。 然而,这对我来说似乎并不是最理想的方式,因为它仍然会在这个不存在的队列中检查新的作业。 任何提示或指导我如何开始这个呢?