allaga
@allaga

Каким образом правильно управлять CRON через PHP?

Добрый день!

Есть мини проект на PHP по проверке кадастровых номеров из публичной кадастровой карты на предмет занесения земельных участков.

В данном проекте активно использую CRON для запуска скрипта для обращения к карте росреестра.

Вопрос: каким образом правильно управлять CRON через PHP? Точнее изменять время запуска.

Спасибо!
  • Вопрос задан
  • 97 просмотров
Пригласить эксперта
Ответы на вопрос 4
@eternalfire
Привет!
Вот есть статья про это
А вообще, самый удобный и простой способ - crontab, с помощью команды crontab -e
Для помощи в создании расписания есть сервис crontab.guru
Ответ написан
Переносите функционал с крона на php.
Как вариант это очередь задач, либо табличка в бд в которой перечислены таски и время их выполнения, и сопутствующий функционал который обрабатывает данную таблицу по крону
Ответ написан
@402d
погуглите "написание демона на php"
а если по проще, то уже несколько раз советовали в теме
каждую минуту крон запускает php скрипт.
А внутри уже самого скрипта смотрите задания какие нужно сделать.
Ответ написан
Wolfnsex
@Wolfnsex Куратор тега PHP
Если не хочешь быть первым - не вставай в очередь!
Вопрос: каким образом правильно управлять CRON через PHP? Точнее изменять время запуска.
Если отвечать на Ваш вопрос буквально - то: просто находите файл с заданиями (который вы до этого редактировали) и редактируете его с помощью PHP (надеюсь, примеры того на ПХП редактировать текстовые файлы Вам не требуются?), предварительно установив на редактируемый файл права, позволяющие его редактировать из скрипта... Там есть ещё ряд нюансов, но, это довольно плохая в целом идея, по ряду причин. Нормально она бы выглядела только в том случае, если бы Вы писали какой-нибудь крон-менеджер для панели управления, например.

Вам же лучше будет использовать один из тех вариантов, что Вам предлагали выше:
1. Запускать скрипт каждые N-времени, а в самом скрипте уже проверять, нужно ли что-то выполнить или нет
2. Использовать сервер очередей, например, Beanstalkd, по мере необхоидмости добавляя туда нужны задачи, которые будут обрабатываться (выполняться) другим скриптом, обслуживающему очередь (этот скрипт соотв. будет запущен на постоянно основе)
3. Если же же Вам нужно разово выполнять какую-то задачу (команду) в точку времени X (например, удалить файл через 5 часов после того как он был загружен) - не забывайте про планировщик at, добавлять туда задания можно с помощью shell_exec (при условии достаточных прав для этого)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
16 июл. 2019, в 00:49
15000 руб./за проект
15 июл. 2019, в 23:17
3000 руб./за проект
15 июл. 2019, в 23:03
1000 руб./за проект