2009-03-25 12 views
2

Ich habe heute eine Website gestartet, die Starling und Workling stark zur Bewältigung der Warteschlange für Hintergrundaufgaben verwendet.Starling: Wie man die Warteschlange beschleunigt

Der Datenverkehr war stark und obwohl die CPU/der Speicher meines Servers nicht zu stark beansprucht wurde, wird die Jobwarteschlange ernsthaft gesichert.

Ich bin unerfahren mit Starling und Workling und muss dringend verstehen, wie ich die Warteschlange beschleunigen kann.

Dies ist wahrscheinlich ein ziemlich einfaches Konfigurationsproblem, aber alle Vorschläge und Gedanken würden sehr geschätzt werden.

Bitte lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.

Antwort

0

Wenn Sie Zugriff auf einen anderen Server haben, können Sie die Aufgaben zwischen den Servern aufteilen. Sie haben es wahrscheinlich schon gesehen, aber Railscasts hat eine ziemlich gute introduction to Starling and Workling.

Es gibt auch ein Buch, das Sie auf Google Bücher mit erweiterten Informationen anzeigen können:

Practical Rails Plugins

1

Ich arbeitete heraus, wie dies am Ende zu tun, ist es sehr einfach ist. Starten Sie einfach weitere Workling-Prozesse über die Befehlszeile - es kann so viele ausgeführt werden, wie es Speicher gibt. Sie werden alle Jobs von einer oder mehreren Instanzen von Starling aufnehmen, wie in workling.yml angegeben. Beachten Sie, dass :multiple=> true in script/workling_client sein muss, damit dies funktioniert.

+0

Klingt dumm, aber es ist nett zu überprüfen, ob Sie Worklings verwenden die Workling :: Remote :: Invokers :: ThreadedPoller. Auf diese Weise hat jeder Ihrer Mitarbeiter seinen eigenen Thread innerhalb des Workling-Prozesses. – lsdr