Ich habe eine Anwendung, die Sidekiq verwendet. Der Web-Server-Prozess wird manchmal einen Auftrag auf Sidekiq stellen, aber ich werde den Arbeiter nicht unbedingt laufen lassen. Gibt es ein Dienstprogramm, das ich aus der Rails-Konsole aufrufen könnte, das einen Auftrag aus der Redis-Warteschlange ziehen und den entsprechenden Sidekiq-Mitarbeiter ausführen würde?
Sie können dies mit der Klasse Sidekiq::Queue
in der Rails-Konsole tun.
So führen Sie einen Job aus:
%Vor% Beachten Sie, dass dies die Warteschlange oder die Statistiken, die von Sidekiq::Stats.new
behandelt werden, nicht beeinflusst.
Um den Job zu löschen, den Sie gerade an der Vorderseite der Warteschlange angeklickt haben:
%Vor%Ich würde nicht versuchen, sidekiqs API zu hacken, um die Jobs manuell auszuführen, da es einige unerwünschte interne Zustände hinterlassen könnte, aber ich glaube, der folgende Code würde funktionieren.
%Vor%Bitte lassen Sie mich wissen, ob das nicht funktioniert oder ob jemand einen besseren Weg kennt, dies zu tun.
Tags und Links ruby-on-rails-3 sidekiq