2017-02-19 4 views
1

Ich schreibe Webtool mit Ruby + Rails. Ich entschied mich, nach der bereits bestehenden Lösung zu fragen, bevor ich meine erfunden habe.Schienen Pool von Hintergrundjobs

Task: Ich brauche einen Pool von Hintergrundjobs, die regelmäßig ausgeführt werden (der Benutzer legt sein Intervall fest). Es gibt viele Lösungen wie Resque oder Sidekiq, aber sie bieten "einmalige" Jobs. Benutzer kann neue Aufgabe erstellen, die in "Pool" gelangt.

Gibt es dafür Lösungen?

Antwort

1

Eine einfache Lösung könnte sein, cron zu verwenden, um Hintergrundjobs in die Warteschlange einzureihen.

Eine andere Option könnte die Verwendung einer Erweiterung von Sidekiq sein, die periodische Jobs verarbeitet: sidekiq-scheduler zum Beispiel.

+0

Danke. Ich bin verwirrt darüber, wie ich meine Aufgabe umsetzen soll. Ich habe das Gefühl, dass ich meine Hintergrundverarbeitung trennen muss, aber ich weiß nicht, wie ich es richtig machen soll - ein separater Server, eine Engine für Rails oder einfach nur ein Prozess, der über Soket mit Rails kommuniziert. Jede Informationsquelle wird großartig sein. – Constantine

+1

Schwer zu sagen, wenn Sie Ihren Code nicht teilen oder nichts über Ihren Technologie-Stack erzählen. Angenommen, Sie haben sich für Sidekiq entschieden, dann könnte die [Sidekiw-Homepage und Dokumentation] (http://sidiskiq.org/) ein guter Ausgangspunkt sein. – spickermann

+0

Der Fall, dass ich versuche, meinen Stack zu bauen) Bin offen für Proposition, da ich kleinere Erfahrung mit Ruby habe. Meine Gedanken war es, eine Liste von Jobs und Pool von Supervisors zu machen, die diese Liste überprüft und Job + 'resque' oder' sidekiq' für die Hintergrundverarbeitung und 'WebSocket' plant, um meine Web-Dashboarf zu aktualisieren – Constantine

Verwandte Themen