Как сделать запуск крона по расписанию, указанному вручную?
Доброго дня!
Есть таблица-сущность `cron`, в которой я указала название `name`, и время исполнения `time`, и команду( запускаемую по шелл) `command`. ( 3 поля) Как сделать запуск крона по расписанию?
В `symfony` есть mybuilder/cronos-bundle, но есть ли возможность,чтобы время исполнения задач брать из таблицы-сущности `cron`?
Либо запустить любой непрерывный крон B (запускаемый каждую минуту), который проверяет на соответствие времени исполнения `time`, и выполнять указанную задачу. Стоит отметить если так делать, то наряду с кроном B,будет выполняться действующий крон A (запускается раз в пять минут). Но мне такой путь не нравится, может есть другие пути?
большое спасибо,
1) то есть я наследую бандл в src/Bundle, переделываю считывание аннотации в запрос с бд Или как рекомендуют src/My/Bundle
2) прописываю app/config/bundles.php бандл полученный на шаге 1
3) на хостинге просто записываю задачу app/console cronos:replace
с интервалом каждую минуту, наверное, так плохо будет, наверное раз в день достаточно обновлять задачи крона.
Максим Федоров, большое спасибо за ответ!!! Очень сильно помог!
Вот такая незадача, сделала через табличку,
но хостинг таймвеб не позволяет выполнять команду `cronos:replace` ни через создание кронзадачи во вкладке "Crontab", ни через запуск команды `cronos:replace` через обновление записи в табличке ( во втором случае нужен кронтаб, созданный под пользователем www-data)
Советы, что нужно перейти на другой хостинг, или на vds не помогут. Хотя очень интересно, какие хостинги позволяют дописывать в существующий кронтаб посредством команды app/console cronos:replace
Максим Федоров, спасибо большое, то есть работали с 'reg', там крон дописывать командой можно? мне нужно для развития.
Подскажите, пожалуйста, делать аналогичную задачу (cronos-bundle исключаем) которая проверяет время запуска команды можно делать через rabbitMQ?
То есть каждую минуту некая команда записывает в очередь rabbitMQ.
Далее каждую минуту проходит по табличке RabbitMQ и запускает команду на выполнение, если очередь подошла. Это можно так сделать, или лучше делать другими инструментами? подскажите, пожалуйста, какими лучше инструментами пользоваться? Подскажите, пож-ста, что погуглить.
Я не сталкивалась с очередями, но предполагаю, что можно их использовать для решения задачи в моем случае.