РЕШЕНИЕ:
Решение, которое я нашел: использование низкоуровневой nohup программы, которая игнорирует сигнал, посылаемый замазкой при закрытии соединения.
Итак, вместо ./gearman-manager start я сделал nohup ./gearman-manager start
ПРИМЕЧАНИЕ: Тем не менее, я хотел бы знать, почему он замедлялся при закрытии замазки ИЛИ почему он продолжает работать в первую очередь, если получил сигнал зависания ???
У меня проблема с казнью рабочего-механика после закрытия сеанса замазки.
Вот что у меня есть:
- клиент gearman, который запускается с помощью задания cron, проверяющего что-либо в БД (бесконечный цикл).
- менеджер gearman стартовал с запуск gearman-manager команда получения задач клиента и управления вызовами рабочего
- рабочий-машинист читает / пишет из БД и отображает состояние текущего задания
Когда я запускаю gearman-manager, я вижу эхо от моего работника, когда он получает задание и когда он их выполняет. Задачи (обновления в БД) выполняются cca. 1 / второй ...
А) Когда я закрываю сеанс замазки, скорость изменений в БД сильно уменьшается (около 1 / 10сек) ?! Не могли бы вы сказать мне, почему это?
B) Когда я снова захожу в шпаклевку, я не получаю выходы gearman-manager обратно на экран? Я ожидал, что снова войду в систему и увижу, что он продолжает отображать статус, как до закрытия замазки? Может быть, это связано с тем, что gearman-manager запущен с владельцем root , а эхо-сигналы исходят от .php, запущенного от имени пользователя gearman ? или, может быть, когда я снова вхожу в него, процесс идет в фоновом режиме?!