Celluloid:: Сбой уведомлений после демонизации приложения

Я использую Celluloid:: Уведомления публикации / подписки, чтобы общаться между двумя участниками. Все работает нормально, когда приложение работает нормально, но когда я пытаюсь запустить его в фоновом режиме, подписчик не получает уведомление. Я испробовал несколько различных драгоценных камней для демонизации всего, что, кажется, нарушает уведомления.

Приложение работает при запуске nohup, что заставляет меня поверить, что проблема связана с разветвлением, которое является частью процесса демонизации.

1 ответ

Вам нужно fork прежде чем создавать экземпляры актеров.

Демонизация не проблема, используя command & и имея Process.pid хранится... но если вы хотите по-настоящему fork, вам нужно fork до того, как система актеров выйдет в сеть... которая сама создает экземпляры актеров, в том числе тех, которые обрабатывают уведомления (как вы заметили).

Другие вопросы по тегам