我有两个独立的应用程序在heroku上运行并指向同一个数据库,第一个负责user interface
第二个为admin interface
, 我在用sidekiq
with redis
对于后台作业处理,我添加了一个工作人员,并且可以通过设置指向提供插件的相同 Redis 的环境变量来共享“redis-server”,现在我也希望共享工作人员,因为添加额外的工作人员将花费双倍的费用。
请建议,这是否可能?
如果两个应用程序使用相同的 Redis URL 和相同的命名空间,您可以使用相同的 Redis 配置启动一个工作线程,并且该配置将由两个应用程序共享。
请注意,您的 Sidekiq 进程将启动一个应用程序或另一个应用程序。您的工作人员的代码必须位于该应用程序中。另一个应用程序将无法引用代码,但可以使用以下方式推送作业:
Sidekiq::Client.push('class' => 'SomeWorker', 'args' => [1,2,3])
请注意,“class”是一个字符串,因此 SomeWorker 实际上可以在其他应用程序中定义。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)