0
我有一个漫长而永无止境的工作,即应该始终保持运行的rake任务。 (这是在服务器端一直在等待的faye pub-sub客户端)。当应用程序部署在服务器上时,作业已创建并可正常工作,但这里的问题是旧作业不会在每个新版本中被杀死,因此当我部署第二次时,有2个作业。我经历了sidekiq api,在那里我们可以通过工作人员找到所有排队工作,但其他应用程序在同一台服务器上运行,如果我删除了所有忙碌的工作,我最终可能会影响其他应用程序。删除以前在sidekiq中构建的作业
这里是我的工人 应用程序/工人/ subscriber.rb
require 'rake'
Rake::Task.clear
Faye::Application.load_tasks
class Subscriber
include Sidekiq::Worker
def perform
Rake::Task['faye:subscriber'].invoke"
end
end
这里是我的初始化/ sidekiq.rb
Sidekiq.configure_server do |config|
config.redis = { url: 'redis://localhost:6379' }
end
Sidekiq.configure_client do |config|
config.redis = { url: 'redis://localhost:6379' }
Rails.application.config.after_initialize do
Subscriber.perform_async
end
end
有任何解决方案还是我走错了方向?任何帮助将不胜感激。谢谢:)
感谢您的回复,任何想法我可以用来永久运行这些工作吗? –