Серверный cron для запуска определенного скрипта на Drupal 11

Главные вкладки

Аватар пользователя Michel Michel 6 февраля в 9:52

Ранее в Drupal 6 был файл с кодом

/**
* @file
* Handles incoming requests to fire off regularly-scheduled tasks (cron jobs).
*/
include_once './core/includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
my_function();

Файл дергался из crontab по расписанию и запускал функцию my_function().
При переезде на Drupal 11 (и, похоже эта ситуации с 8-ой версии) такая конструкция вызывает ошибку, ибо в bootstrap нет класса "DRUPAL_BOOTSTRAP_FULL" и нет функции "drupal_bootstrap".
Как правильно реализовать этот функционал, не используя системный cron?

Комментарии

Аватар пользователя chei1ahJoh8K chei1ahJoh8K 6 февраля в 17:22

а что у вас хостинги не совместимые с друпалом? в нормальном хостинге можно задать cron. например
/usr/local/bin/php8.3 ~/mysite.ru/vendor/bin/drush.php cron

или вызываете скрипт
/bin/bash ~/mysite.ru/automatic_updates_sh/checkforupdates.sh

Аватар пользователя Michel Michel 7 февраля в 14:07

Хостинг вполне справляется и cron задан на хостинге в crontab.
Но Drupal 11 на него отвечает ошибкой.
При том, что на Drupal 6 ошибок нет.

Аватар пользователя bsyomov bsyomov 13 февраля в 12:59

Наверное, самый правильный вариант для вашего сценария, создать свою drush command в своём модуле и вызывать её через drush в системном cron с нужной периодичностью.