PHP: выполнение запланированных заданий (задания cron) - PullRequest
40 голосов
/ 23 сентября 2008

В моем веб-отеле есть сайт, на котором я хотел бы выполнить некоторые запланированные задания. Какие методы достижения этого вы бы порекомендовали?

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

Это лишь краткий пример того, о чем я думал:

if ($alreadyDone == 0 && time() > $timeToRunMaintainance) {
   runTask();
   $timeToRunMaintainance = time() + $interval;
} 

Что-нибудь еще, что я должен принять во внимание, или есть лучший метод, чем этот?

Ответы [ 13 ]

0 голосов
/ 02 августа 2017

Если вы хотите что-то более абстрактное, вы можете использовать что-то вроде планировщика PHP. Например:

Кроме того, для разбора выражения cron вы можете использовать существующую библиотеку, такую ​​как https://github.com/mtdowling/cron-expression.. Она предоставляет множество полезных методов, которые помогут вам выяснить информацию о задании cron.

Надеюсь, это поможет.

0 голосов
/ 28 июня 2012

Если у вас нет возможности установить cronjob, вы можете вызвать скрипт с помощью cUrl (в качестве альтернативы wget - та же функциональность). Просто выполните запланированное задание на локальном компьютере, которое выполняет функцию cUrl.

0 голосов
/ 23 сентября 2008

Командная строка PHP + cron будет таким, как я хотел бы. Это просто и должно отвечать всем требованиям. Обычно он устанавливается с PHP как само собой разумеющееся.

...