ActiveRecord не может повторно подключиться при работе внутри разветвленного / многопоточного приложения?

Здесь есть открытый вопрос, поэтому я кратко изложу Первая проблема. У нас есть работник Resque , который должен выталкивать задания синхронизации данных из очереди, по двум причинам: использование Cron (и постоянная оплата времени загрузки среды Rails) - отстой. , и альтернативные очереди, ну, Github выдвинул против них довольно хорошие аргументы, когда они объявили о Resque . Кроме того, функция временных рядов Redis уже играет большую роль в нашей инфраструктуре, где мы также перетасовываем данные TS в RRDTool и т. Д.

Вот проблема , с типичным трехчасовым перерывом между заданиями (но сотрудники могут планировать задания в любое время… отсюда очередь), сервер PostgreSQL уходит. Достаточно легко вылечить, я ожидал, что установка reconnect: true в соответствующей среде гарантирует, что это сработает так, как ожидалось. Я читал в нескольких местах , что reconnect: true не будет работать для приложений, использующих fork () . Что, естественно, Resque делает, чтобы запустить его рабочие… часть, которую я не делаю » но я предполагаю, что это работает (не пробовал с текущими Rails ..)

У меня вопрос, Почему автоматическое переподключение в AR не работает, если вы fork () ? (и, наконец, я не единственный человек, у которого есть эта проблема; я списываю ее на использование PGSQL с Resque!)

5
задан Lee Hambley 29 March 2011 в 19:36
поделиться