Как я могу запустить задание cron из php, а cron – в тот момент? У меня есть сценарий sitemap, и я хочу перейти к ссылке на карту сайта, не дожидаясь, пока он выполнит свою работу, чтобы отправить информацию, чтобы позвонить на мою служебную запись.
Извините мой английский
Задание cron нужно вводить в расписание «cron» для запуска в определенное время.
Я предполагаю, что в вашей установке есть скрипт, который обычно запускается cron, и вы хотите запустить его, когда ваша программа php обнаруживает какое-либо условие.
Вам нужно выяснить, где находится скрипт crontab (попробуйте «crontab -e» для списка заданных в настоящее время заданий cron) и запустите его с помощью команды php system () или exec ().
Это полностью зависит от настройки вашего сервера, но обычно невозможно установить задание cron из простого PHP из-за прав пользователей и других ограничений.
Кроме того, я не думаю, что вы действительно ищете работу cron, но для того, как начать фоновый процесс с помощью exec()
. См., Например, метод OP, описываемый в этом вопросе . Пользовательские примечания к exec () в руководстве по PHP также содержат ценные советы.
Смотрите cron job tutorial здесь.
Альтернативой Cron будет использование Gearman
Gearman предоставляет общую инфраструктуру приложений для работы с другими машинами или процессами, которые лучше подходят для работы. Он позволяет выполнять параллельную работу, обрабатывать баланс нагрузки и вызывать функции между языками.
Существует расширение PHP для Gearman, которое предоставляет API для написания клиента и рабочих.
Также см. Эту четырехчастную серию «Тайны асинхронной обработки» и главу « Управление процессом в прагматическом программировании на PHP»