2016-08-25 5 views
0

Meine Laravel-Warteschlange hat 1 Million Job. Jeder Auftrag dauert 5-6 Sekunden zur Ausführung. (Ich hole Web-Seite als HTML. Speicherung von HTML-Daten in der Datenbank und auch Mailing diese Daten). So würde es rund 50-60 Tage dauern, um auszuführen. Wie kann ich es optimieren? Ich benutze Datenbank als queue_driver.Wie Laravel-Warteschlangen zu optimieren?

+0

Nun, ich denke nicht, dass das genug Details sind, um herauszufinden, warum es so lange dauert ... – Naruto

+0

Ich hole HTML-Inhalt von einer Webseite und speichert es in der Datenbank und mailt es an Benutzer. –

+1

Diese Frage ist nicht zu verantworten. Es hängt davon ab, was Ihre Warteschlange tut, wie Sie sich entschieden haben, sie zu implementieren, und unzähligen externen Faktoren wie Serverlast oder Netzwerkleistung. –

Antwort

0

Schieben Sie Ihre Jobs in mehrere Warteschlangen mit ihren eigenen Mitarbeitern. Sie können auch zusätzliche Mitarbeiter für jede Warteschlange hinzufügen.

+0

Können Sie mir sagen, dass ich das tun kann? –

0

Sie möchten mehrere Warteschlangen einrichten, die als Buckets dienen, und zusätzlich sollte jede Warteschlange mehrere Worker auf ihnen haben. Ich würde auch etwas wie AWS SQS verwenden. Sie können mehr über die Verwendung von Arbeitern lesen here.

+0

Können Sie mir sagen, dass ich das kann? –