Mit Blick auf den Job unten würde ich annehmen, dass der Job auf einer low_priority
Warteschlange läuft.Hat ActiveJob Warteschlangen mit bestimmter Priorität?
class GuestsCleanupJob < ActiveJob::Base
queue_as :low_priority
#....
end
Ich würde damit einverstanden sein, aber das ist nur der Name der Warteschlange korrekt? Es hat eigentlich nichts mit Priorität zu tun. Wenn ich zum Beispiel einen Job mit einer Warteschlange namens :my_queue
erstellt habe, würde er so behandelt werden, als hätte er die gleiche Priorität wie eine :low_priority
Warteschlange.
Aus der Dokumentation konnte ich nichts finden, das angibt, dass ich Aufträge in der Warteschlange priorisieren kann. Ich weiß, dass delayed_jobs diese Funktionalität hat, aber ich habe es in active_job nicht gefunden.
Ja, das macht Sinn, aber delayed_job und sidekiq beide Unterstützung Warteschlangen und Priorität und Sie können diese Ebene an einem Arbeitsplatz eingestellt. Unterstützt der aktive Job dies, wenn Sie den delayed_job- oder sidekiq-Adapter verwenden? Es hört sich so an, als würden Sie ja sagen ... aber keine der Unterlagen hilft wirklich. Ich habe mir bereits die Referenzen angesehen, die Sie hinzugefügt haben, bevor Sie diese Frage gepostet haben, aber ich konnte nichts finden ... vielleicht verpasse ich etwas? –
Sie müssen dazu Ihre Adapterdokumentation lesen. ActiveJob ist eine Abstraktion. – dimakura
Ich verstehe das. Ich habe die Dokumentation gelesen - Ich benutze delayed_jobs und Sie können die Priorität eines Jobs auf einem verzögerten Job zum Beispiel 'handle_asynchronously: send_mailer,: priority => 20'. Mit Sidekiq kann ich sehen, es ist möglich, da Sie Warteschlangen und Priorität in Eine Konfigurationsdatei. Verzögerter Job scheint dies nicht zu haben. Meine Frage ist, wie verwende ich die Abstraktion, die ActiveJob ist, um Priorität zu setzen ... ist dies über ActiveJob möglich oder muss ich delayed_job verwenden? Wenn man den Adapter delayed_job in ActiveJob betrachtet, scheint dies nicht möglich zu sein. Ich bin mir nicht sicher, was ich noch sagen soll, um klarer zu sein. –