Как мне запланировать разовые задачи из приложения Perl CGI?

StackOverflow https://stackoverflow.com/questions/942749

  •  09-09-2019
  •  | 
  •  

Вопрос

Я пишу приложение, позволяющее пользователям планировать одноразовые длительные задачи из веб-приложения (Linux / Apache / CGI:: Application).Для этого я использую the Расписание::В модуль, который является интерфейсом Perl к команде "at".Поскольку запланированные задачи не повторяются, я не рассматриваю "cron".Однако у меня есть две проблемы с "at":

  1. Планирование работает нормально, когда мое CGI-приложение запускается под оболочкой suexec, но не тогда, когда оно запланировано владельцем процесса Apache.Как я могу заставить планирование работать в обеих средах (suexec и no-suexec)?
  2. Похоже, что процессы, запланированные с помощью "at" или Schedule::At, не имеют отчетов об ошибках, и иногда я обнаруживаю, что запланированные задачи завершаются без сбоев.Есть ли какой-нибудь способ зарегистрировать тот факт, что запланированное задание (не сам планировщик) не удалось запустить?

Я не зациклен на "at" и открыт для использования других, более надежных методов планирования, если таковые имеются.

Благодарю вас за ваше внимание.

Это было полезно?

Решение

Я слышал много хорошего о Тот Самый Шварц .У этого нет задержки - хотя бы до тех пор, пока;вы бы отправляли задания через at, но это должно решить обе проблемы, которые вы перечислили выше, при условии, что ваш скрипт submit_job был простым.

(в качестве предостережения, я использовал только Редукторщик, Я думаю, вам нужна надежная очередь заданий для этого, механизм "запустить и забыть", чтобы вы могли сохранить свой submit_job немым.)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top