Resque-планировщик и перекрывающиеся кроны - PullRequest
2 голосов
/ 16 марта 2011

Я только что запустил расписание запуска и все работает нормально с одной задачей расписания. Тем не менее, когда я добавил секунду в том же расписании cron, кажется, он топает сам по себе. Вот как выглядит мой resque_schedule.yml:

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

При запуске через rake resque: планировщик я получаю периодические ошибки:

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. 

Если я поменяю расписание на одно или другое, они будут играть хорошо. Если я изменю расписания cron, чтобы они не перекрывались, они работают нормально. Спасибо за любую помощь. OSx 10.6.6, Ruby 1.9.2p136.

Обратите внимание, что в методе выполнения обоих классов прямо сейчас есть места для отладки.

1 Ответ

5 голосов
/ 16 марта 2011

Ладно, вероятно, плохая форма ответа на мой собственный вопрос, извинения ... Я нашел это ТА потока , и подсказка была добавить:* Примечание: это было с Redis 2.1.1, и я подумал, что я прочитал thread_safe теперь по умолчанию.Но я не нахожу эту статью ...

...