К содержанию
Medusa
Документация

Cron

В фреймворке Medusa cron-задачи настраиваются на уровне Docker-окружения: расписание задаётся в файле .docker/etc/crontab, а служба cron запускается внутри контейнера web.

Добавление задачи

Откройте файл .docker/etc/crontab и добавьте задачу в формате классического crontab, например:

*/10 * * * * www-data /usr/local/bin/php /var/www/html/app/cli/cron/check_mails.php >> /var/log/cron.log 2>&1

Подготовка PHP-скрипта

В примере ниже используется каталог www/app/ как пример пользовательского каталога. При другой настройке автозагрузчика путь к пользовательским CLI-скриптам будет отличаться.

require_once __DIR__ . '/../../../medusa/index.php';

use Medusa\Mail\Mail;

$mail = new Mail('vadim.valeev@mail.ru', 'Cron check', 'Задача выполнена');
$mail->send();

Применение изменений

После каждого изменения файла .docker/etc/crontab не забывайте пересобирать контейнер, так как crontab регистрируется на этапе сборки образа:

docker compose up -d --build