Gearman-manager: скорость уменьшается, когда замазка закрыта - PullRequest
0 голосов
/ 16 августа 2011

РЕШЕНИЕ: Решение, которое я нашел: использование низкоуровневой 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 ? или, может быть, когда я снова вхожу в него, процесс идет в фоновом режиме?!

1 Ответ

0 голосов
/ 03 сентября 2011

Вы не видите вывод при создании нового tty, потому что процесс был связан с предыдущим tty.Если вы не используете что-то вроде экрана, чтобы поддерживать tty, вы не увидите этот вывод с новым терминалом.

...