Aufträge, die im Hintergrund von einer Webanwendung verarbeitet werden

8

Ich möchte während der Ausführung einer Webanwendung viele Jobs im Hintergrund planen und ausführen.
Die Web-App baut auf Symfony 2 und Doctrine 2 auf.

Ich weiß, dass die Job-Verarbeitung mit Bibliotheken wie Resque oder Sidekiq durchgeführt werden kann. Da diese Bibliotheken und meine Anwendung in verschiedenen Sprachen geschrieben sind, frage ich mich, wie ich in Ruby geschriebene Sidekiq-Jobs ausführen kann, die in meine in PHP geschriebene App integriert werden sollen.

Was ich mich frage ist, ob der einzige Weg dies zu tun ist, eine große Menge Code neu zu schreiben, um die Datenbank von PHP nach Ruby abzufragen, um den Job in Sidekiq / Resque ausführen zu können.

    
Stefano 23.01.2014, 15:49
quelle

2 Antworten

5

Hast du einen Blick auf Gearman geworfen? Sie können Hintergrundjobs wie Sidekiq ausführen, aber es ist sprachunabhängig. Zum Beispiel können Sie PHP für alles verwenden, oder Sie können Jobs in PHP in die Warteschlange stellen und die tatsächlichen Worker in Ruby schreiben lassen.

    
Michael S. 23.01.2014, 21:10
quelle
5

Ich habe Resque in mehreren Projekten mit Ссылка und Ссылка

Es hat wirklich gut funktioniert, ich habe sogar ein Symfony-Paket gemacht, um die Arbeit damit wirklich einfach zu machen. Ссылка - unterstützt Hintergrundjobs und geplante Jobs. Viel mächtiger als mit Cron.

Der Hauptgrund für die Wahl von Resque gegenüber anderen Optionen ist, dass es auf Redis funktioniert, das einfach zu implementieren und zu skalieren ist. Bei AWS verwende ich von Elasticache verwaltete Instanzen für eine völlig mühelose Einrichtung.

    
mcfedr 02.12.2014 08:17
quelle

Tags und Links