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
有任何解決方案還是我走錯了方向?任何幫助將不勝感激。謝謝:)
感謝您的回覆,任何想法我可以用來永久運行這些工作嗎? –