Frage

Ich bekomme gerade eine Reque-Planung zum Laufen und es funktioniert gut mit einer Zeitplanaufgabe. Wenn ich jedoch eine Sekunde in demselben Cron -Zeitplan hinzufügte, scheint es, dass er auf sich selbst stampft. So sieht mein resque_schedule.yml aus:

email_subscription_notification:
  cron: * * * * *
  class: SubscriptionProcessor
  args: test
  description: Email Notifications
email_polling:
  cron: * * * * *
  class: EmailPollingProcessor
  args: test
  description: Email Polling

Wenn ich über Rake Resque: Scheduler laufe, bekomme ich periodische Fehler:

2011-03-15 17:43:00 Failed to enqueue EmailPollingProcessor:
  Got '0' as initial reply byte. If you're running in a multi-threaded environment, make sure you pass the :thread_safe option when initializing the connection. If you're in a forking environment, such as Unicorn, you need to connect to Redis after forking. 

Wenn ich den Zeitplan ändere, um nur das eine oder andere zu haben, spielen sie gut. Wenn ich die Cron -Zeitpläne so ändere, dass sie sich nicht überlappen, laufen sie gut. Vielen Dank für jede Hilfe. OSX 10.6.6, Ruby 1.9.2p136.

Beachten Sie, dass die Methode beider Klassen gerade für das Debuggen für das Debuggen gerichtet ist.

War es hilfreich?

Lösung

Ok, wahrscheinlich schlechte Form, die meine eigene Frage beantwortet, entschuldigte sich ... Ich habe das gefunden Also Faden Und der Hinweis war hinzuzufügen: thread_safe = true, wenn ich lade_resque:

Resque.redis = Redis.new(:host => config['host'], :port => config['port'], :thread_safe => true)

Hinweis: Dies war mit Redis 2.1.1 und ich dachte, ich hätte Thread_Safe gelesen. Aber ich finde diesen Artikel nicht ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top