У меня есть маленький бот, в настоящее время написанный в php
, но я могу переключиться на py
, если это будет необходимо.
Он в основном собирает данные из API о задачах, которые нужно запускать только один раз, чтобы обновить на следующий день в определенное уникальное время
Каждый день в UTC+0 00:00
я использую cron job
для собрать эти данные из API.
Например, задача, возможно, должна выполняться в UTC+0 09:00
, другая в UTC+0 10:15
и еще одна в UTC+0 11:30
. На следующий день появляются новые задачи, которые нужно запускать в разное время.
Теперь, поскольку эти задачи доступны только на тот день, я не думаю, что установка задания cron для каждого из них в нужное время является решением, а затем удаляет задание cron.
Поэтому, как мне запустить сценарий именно тогда, когда нужно обновить задачу?
А сейчас я запускаю задание cron каждую минуту, и если есть задача в течение минуты, я запускаю другой скрипт, который обновляет эту задачу, но мне это кажется грязным, и мне интересно, могу ли я что-нибудь с этим сделать.
П.С .: Я использую каплю из цифрового океана, которая работает на Ubuntu 19.04 - disco
Для планирования команды для выполнения одного времени в будущем можно использовать at
команда. См. страницу руководства (man at
) поскольку, как указать время и дату.
От php можно использовать system ()
диапазон команд для вызова любой системной команды, включительно at
. Python также имеет систему, но также и команду subprocess.run.