Ich habe eine lange und nie endende Job, d. H. Rake-Aufgabe, die die ganze Zeit laufen sollte. (Es ist faye Pub-Sub-Client wartet auf Server-Seite die ganze Zeit zu hören). Wenn Anwendung auf Server bereitgestellt wird, ist der Job erstellt und funktioniert, aber das Problem hier ist, dass alte Jobs nicht in jedem neuen Build getötet werden, so wenn ich 2. Mal bereitstellen .. gibt es 2 Jobs. und ich ging durch sidekiq api, wo wir alle Jobs in der Warteschlange stoppen können, indem wir durch worker finden, aber es gibt andere Anwendungen, die auf demselben Server laufen, und wenn ich alle beschäftigten Jobs lösche, könnte das Auswirkungen auf andere Anwendungen haben.Löschen von Jobs der vorherigen Build in sidekiq
Hier ist meine Arbeiter app/Arbeiter/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
Hier ist mein initializers/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
ist es irgendeine Lösungsmöglichkeit ? oder gehe ich in die falsche richtung? jede Hilfe würde sehr geschätzt werden. Danke :)
danke für die Antwort, irgendeine Idee, was kann ich verwenden, um die Jobs für immer zu laufen? –