odbc — дубликат запланированной задачи на php.exe

От Дальнейшее расследование, которое я обнаружил, является точным вопросом о том, как долго выполняются определенные экземпляры задачи. Наиболее успешно выполняется в течение нескольких секунд, но несколько последовательных задач выполняются до часа (затем останавливается менеджером). На этом этапе будет полезна любая информация о жизненном цикле запланированных задач Windows.


У меня есть php-файл, который нужно вызывать каждые 10 минут.
Файл php имеет дело с новыми записями базы данных, которые обновляются при вызове.

Файл выполняется с помощью запланированного вызова задачи в php.exe с аргументом -f (с указанным файлом после)

Задача выполняется должным образом и выполняется без сбоев.
Тем не менее, я заметил две проблемы с момента его первоначального запуска.

первый, У меня есть file_put_contents в файле журнала, в котором добавлено «Schedule Task ()» плюс текущее время, строка при каждом запуске задачи.
В течение первых нескольких дней это работало нормально, но только в один вечер, когда команда не выполнилась, поскольку файл журнала был заполнен (.txt размером чуть менее 1 ГБ).
Я проверил, и файл журнала читается как:

Schedule Task() 2014-10-10 18:00:00.000
Schedule Task() 2014-10-10 18:00:00.000
Schedule Task() 2014-10-10 18:00:00.000
(repeated for 1000s of lines, but still with milliseconds time incrementing every 500 lines or so)

Где я ожидал, что это будет отображаться как:

Scheduled Task () 2014-10-10 18:00:00.000
Scheduled Task () 2014-10-10 18:10:00.000
Scheduled Task () 2014-10-10 18:20:00.000

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

Чтобы решить эту проблему, я переместил file_put_contents строка после оператора IF, чтобы гарантировать, что строка будет записана в файл журнала, только когда новые записи были в базе данных.

Проблема никогда не повторялась.

второй, Однако через 3 недели после первого запланированного задания (сегодня) я замечаю, что история запланированного задания заполнена ошибками с 10-минутным приращением.
Приведен код ошибки «Запуск дубликатов». (Это правильно, так как я установил опцию не запускать экземпляры, если они уже выполняются)

Это говорит о том, что диспетчер запланированных задач выполняет действие несколько раз (несколько процессов).

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

Обновить

Просматривая журналы запланированной задачи amanbager, я вижу, что есть проблема с задачей, выполняющейся более 1 часа (см. Изображение)

введите описание изображения здесь

Вызов выполняется каждые 10 минут, однако выполнение задачи (красная линия) выполняется неправильно.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]