Возможно, я не понимаю, что такое Supervisor, но, возможно, я задаю этот вопрос, чтобы прояснить это. По сути, у меня в файле /etc/supervisord.conf есть программа Supervisor, которая выполняет сценарий bash, который просто выполняет сценарий PHP. Мне удалось успешно запустить этот bash-скрипт из супервизора только после запуска супервизора. Однако разве не суть чего-то вроде супервизора в том, что он запускает эти задачи в фоновом режиме с заданными интервалами или что-то в этом роде, чтобы я мог знать, что он всегда работает и обрабатывает любые задачи, которые могут потребоваться в соответствии с выполняемым им скриптом?
Вот программа в моем файле conf:
[program:program_name_d]
command=/path/to/runme
process_name=%(program_name)s
numprocs=1
autostart=true
Мне кажется, что то, что вы на самом деле ищете, ближе к cron. Я не знаком с супервайзером, но из предоставленного описания Вот, похоже, он пытается заменить пользовательское пространство для определенных аспектов init. Под этим я подразумеваю, что он направлен на обеспечение:
То, что вы планируете сделать, на самом деле возможно, но вам нужно изменить промежуточный сценарий bash, чтобы фактически выполнять интервальный запуск вашего повторяющегося процесса.
В моей компании мы используем скрипты Python для выполнения точно таких же задач по запуску скриптов PHP через повторяющиеся промежутки времени. Итак, что вам нужно сделать в общем:
Тада: У вас есть процесс, похожий на cronjob, который запускается и контролируется супервизором.
Конечно, вы также можете расширить свой скрипт, чтобы иметь возможность обрабатывать даты, дни недели или промежутки времени в определенный промежуток времени. Так что ваш сценарий, например, выполняется только в воскресенье утром в час ночи или около того.