Проверьте, работает ли сценарий PHP все еще

У меня есть сценарий, который слушает сервер бессмысленных данных и отвечает соответственно. Хотя это, как предполагается, не останавливается, вчера вечером это сделало. Теперь я хочу выполнить задание крона каждую минуту, чтобы проверить, работает ли сценарий, и запустите его если нет.

Вопрос, как я проверяю, работает ли конкретный сценарий все еще?

Некоторые решения были отправлены здесь, но это - все для Linux, в то время как я ищу решение для Windows. Какие-либо идеи?Спасибо.

11
задан Community 23 May 2017 в 10:33
поделиться

3 ответа

Быстрый и грязный обходной путь для сценария может заключаться в обновлении строки в базе данных со столбцом даты, установленным на CURRENT_TIMESTAMP. Попросите второй сценарий cron проверить, является ли метка времени в этой строке недавней.

4
ответ дан 3 December 2019 в 11:51
поделиться

Вот что я обычно делаю:

  1. создаю каталог статуса, например: / data / status /
  2. в моем скрипте, пусть он проверяет, существует ли файл статуса
    1. , если он существует, выйдите из сценария
    2. , если он не существует, продолжите процесс

Однако в этом есть проблема: что, если сценарий умирает и не удаляет файл состояния?

Вы можете добавить небольшая проверка сохранения, например:

  1. Каждую минуту обновлять файл состояния
  2. При каждом запуске cron проверять, обновлялся ли последний раз файл состояния, например: 10 или 30 минут назад (мы можем предположить, что наш сценарий cron умер) мы может запустить cron-скрипт.
0
ответ дан 3 December 2019 в 11:51
поделиться

У меня была та же проблема, и я решил ее с помощью этого кода:

file_put_contents("status.txt","ping");

Я поместил ее в цикл своего скрипта

, поэтому я проверяю дату последнего изменения файла, чтобы увидеть, активен ли скрипт

, чтобы не перегружать HD, вы можете сделать что-то вроде этого:

$i++
if( $i%100 == 0)
    file_put_contents("status.txt","ping");

это будет записывать файл, когда $ i == 100 или 200 или 300 и т. д.

это обходной путь

0
ответ дан 3 December 2019 в 11:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: