@stanlee

Как лучше организовать выполнение скриптов по расписанию?

Есть проект на php.
Есть задачи которые необходимо выполнять в фоне, в заданное время в будущем или циклично о расписанию.
С цикличными задачами легко справляется cron, а как быть с разовыми задачами?

Рассматривал rabbitmq, но нагуглил, что у него схема работы последовательная в очереди или создавать кучу очередей.
Пока не понял это то, что мне нужно или нет, поэтому, прошу помощь зала ) Может у кого то есть более интересная мысль.
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 2
65536
@65536
создать таблицу в бд со столбцами: задача, время выполнения
сделать скрипт который будет выбирать из нее задачи со временем меньше текущего
и выполнять
после выполнения можно удалить запись если задача была одноразовая или установить время следующего запуска
Ответ написан
Комментировать
e_svirsky
@e_svirsky
Web Developer
Сделайте еще одну задачу крон - которая будет каждый час (или минуту или 10 минут..., как вам угодно) дёргать одну и ту же команду.
А в этой команде - доставайте таски из БД к примеру. В БД - передавайте что нужно вызывать и откуда и какие параметры передавать.
Таска сделана - статус изменили на done - больше не будет дёргаться эта таска, или удаляйте таску из очереди из БД.
Таски накопились - крон по одному их выполнил. Тасков нету - крон просто проверяет на наличие тасков.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы