Окончание запланированной задачи Backgroundrb - PullRequest
2 голосов
/ 25 сентября 2008

У меня запланированное задание backroundrb, выполнение которого занимает довольно много времени. Однако, похоже, что процесс заканчивается через 2,5 минуты.

Мой файл background.yml:

:schedules:
  :named_worker:
    :task_name:
      :trigger_args: 0 0 12 * * * *
      :data: input_data

У меня нулевая активность на сервере, когда процесс запущен. (Это значит, что я единственный на сервере, который наблюдает за тем, как файлы журнала делают свое дело, пока процесс внезапно не остановится.)

Есть идеи?

Ответы [ 2 ]

3 голосов
/ 25 сентября 2008

Здесь не так много информации, которая позволяет нам разобраться в сути проблемы. Поскольку backgroundrb работает в фоновом режиме, его мониторинг / отладка может быть довольно сложным.

Вот несколько идей, которые я использую:

  1. Напишите модульный тест, чтобы проверить сам рабочий код и убедиться, что там нет проблем
  2. Поместите "ставит" операторы в нескольких точках кода, чтобы вы могли хотя бы увидеть некоторые ответы во время работы работника.
  3. Оберните весь рабочий блок в блок begin..rescue..end, чтобы вы могли отследить любые ошибки, которые могут возникнуть, и сократить процесс.
0 голосов
/ 26 сентября 2008

Спасибо, Андрей. Эти советы по отладке помогли. Особенно начало .. спасение .. конец блока.

Отладка была все еще трудной. В конце концов, это не был BackgroundRB, сокращающийся через 2,5 минуты. Было установлено сетевое соединение, которое не было должным образом закрыто. Как только это было найдено и закрыто, все отлично работает.

...