Sac*_*ngh 7 ruby ruby-on-rails heroku worker sidekiq
我有两个单独的应用程序在Heroku上运行,并指向同一个数据库,第一个负责user interface和第二个的admin interface,我使用sidekiq与redis后台作业处理,我增加了一个工人,我能够通过设置共享"的Redis服务器"环境变量指向相同的Redis提供Addon,现在我也想分享worker,因为添加额外的worker会花费两倍.
请建议,这是否可能?
Mik*_*ham 12
如果两个应用程序使用相同的Redis URL和相同的命名空间,则可以使用相同的Redis配置启动一个工作程序,并且它们将由两者共享.
请注意,您的Sidekiq进程将启动一个应用程序或另一个应用程序.您的Workers的代码必须在该应用程序中.另一个应用程序将无法引用代码,但可以使用以下方式推送作业:
Sidekiq::Client.push('class' => 'SomeWorker', 'args' => [1,2,3])
Run Code Online (Sandbox Code Playgroud)
请注意,'class'是一个String,因此SomeWorker实际上可以在另一个应用程序中定义.