2015-07-21 3 views
0

Я использую CakePHP. Я хочу запустить запланированные задания. В ситуации:Запуск запланированной работы в PHP

Пользователь установил время для выполнения некоторой задачи в пользовательском интерфейсе (скажем, 1 неделю). Когда время закончено, я хочу выполнить определенную задачу. Между тем пользователь может также изменить время, и задача должна быть выполнена в обновленное время.

Каков наилучший способ (и надежный) для достижения этого?

PS: Сложность не является проблемой. Но задача всегда должна выполняться через определенное время при любых обстоятельствах.

+1

Одним из способов было бы/можно было бы вызвать php-скрипт с помощью cronjob каждую минуту, а затем вызвать вызываемый php-скрипт для выполнения задач, которые соответствуют времени/настройкам и т. Д. – Epodax

ответ

4
  • Установите дату исполнения в таблице в поле
  • Установить статус (ожидающий), а
  • Выполнить cron job который работает a CakePHP shell каждые X секунд или минут, все, что нужно ИЛИ создать которая продолжает работать все время и проверяет записи каждые X секунд в цикле.
  • Оболочка будет обрабатывать задачи, настройки для даты исполнения ниже текущей даты
  • Установить статус успеха или потерпел неудачу в зависимости от результата

Это до вас, как вы хотите, чтобы справиться не удалось задачи, и если это нормально, если задание выполняется через 10 секунд позже настроенного или 10 минут. В этом есть несколько факторов: Ваш интервал задания/запроса cron на таблицу. Нужно ли их обрабатывать параллельно? Можно ли обрабатывать их друг за другом? Ваша информация неясна.

Смежные вопросы