Celluloid:: Сбой уведомлений после демонизации приложения
Я использую Celluloid:: Уведомления публикации / подписки, чтобы общаться между двумя участниками. Все работает нормально, когда приложение работает нормально, но когда я пытаюсь запустить его в фоновом режиме, подписчик не получает уведомление. Я испробовал несколько различных драгоценных камней для демонизации всего, что, кажется, нарушает уведомления.
Приложение работает при запуске nohup, что заставляет меня поверить, что проблема связана с разветвлением, которое является частью процесса демонизации.
1 ответ
Вам нужно fork
прежде чем создавать экземпляры актеров.
Демонизация не проблема, используя command &
и имея Process.pid
хранится... но если вы хотите по-настоящему fork
, вам нужно fork
до того, как система актеров выйдет в сеть... которая сама создает экземпляры актеров, в том числе тех, которые обрабатывают уведомления (как вы заметили).