задания крона или планировщик PHP

Если действительно необходимо использовать split, можно сделать a:

grep {length > 0} split(/(..)/, $string);

, Но я думаю, что самый быстрый путь был бы с unpack:

unpack("(A2)*", $string);

Оба этих метода имеют "преимущество", что, если строка имеет нечетное число символов, она произведет последний на своем собственном.

5
задан gnarf 12 August 2009 в 19:06
поделиться

5 ответов

Я думаю, вашу концепцию нужно изменить.

PHP не может запланировать задание, как и MySQL. Триггеры в MySQL выполняются при возникновении запроса mysql, а не в определенное время. Ни то, ни другое

Это ограничение обычно не является проблемой при веб-разработке. Причина в том, что ваше приложение PHP должно контролировать все входящие и исходящие данные. Обычно это означает просто HTML, который отображает эти данные или другие форматы для пользователей или других программ.

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

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

На самом деле нет причин обновлять данные независимо от вашего PHP-приложения.

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

В вашем случае ничего из этого не применимо.

PS: Я не пробовал PHPscheduler, но могу предположить, что это не настоящий планировщик. Cron - это демон, который спит до тех пор, пока данная задача не будет в очереди, выполняет задачу, а затем спит до следующей (по крайней мере, это то, что он делает в текущем алгоритме). PHP не может этого сделать без сокетов и расширений вилки, как специальная установка. Таким образом, PHPscheduler, скорее всего, просто проверяет, истекла ли дата для задачи, при каждой загрузке веб-страницы (всякий раз, когда PHP выполняет страницу). Это ничем не отличается от того, что вы просто проверяете, истекла ли дата в проекте, без накладных расходов на PHPScheduler.

4
ответ дан 14 December 2019 в 08:56
поделиться

Я всегда беру cron для всего, что связано с планированием.

Большой бонус в том, что вы также можете выводить информацию эхом, и она будет отправлена ​​вам по электронной почте.

Вы узнаете, как только начнете использовать cronjobs, трудно остановиться.

1
ответ дан 14 December 2019 в 08:56
поделиться

cron как таковой не существует в Vista, но существует стандартный диспетчер планирования Windows, который можно запустить с помощью командной строки, например "php -q -f myfile.php" который будет выполнять файл php в заданное время.

вы также можете использовать порт программы cron, их много.

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

1
ответ дан 14 December 2019 в 08:56
поделиться

Для задач Windows CRON я не могу порекомендовать PyCron достаточно.

1
ответ дан 14 December 2019 в 08:56
поделиться

как насчет PHPscheduler..R они не лучше, чем cronjobs? Я думаю, что crons не будет зависеть от приложения, поэтому было бы сложно изменить хост. Я не совсем уверен… Было бы здорово, если бы кто-нибудь мог это прокомментировать !! Спасибо!

0
ответ дан 14 December 2019 в 08:56
поделиться
Другие вопросы по тегам:

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