Как запускать команды Drush через crontab в Drupal 8

#drupal-8 #drush

#drupal-8 #drush

Вопрос:

Я пытаюсь выполнить команды drush через crontab для сайта Drupal 8. Эти команды работают, когда я вызываю их напрямую, но при запуске через crontab моего пользователя я получаю следующую ошибку:

Drupal::$контейнер еще не инициализирован. Drupal::setContainer() должен
вызываться с реальным контейнером.

Другие сообщения предполагают, что это ошибка в более старых версиях Drush, но я на 10.3.5.

За последние несколько часов я перепробовал несколько вещей, включая перенастройку cron, но в конечном итоге кажется, что Drush неправильно загружает Drupal, но мне нужно иметь возможность запускать очередь из cron

Это тестовая команда, которую я запускаю, которая просто добавляется в журнал Drupal…

crontab (мой пользователь)

 * * * * * /var/www/html/vendor/bin/drush scr /var/www/html/scripts/what.php -r /var/www/html/web
  

what.php

 <?php
Drupal::logger('mymod')->info("CHECKING IN FROM CRON CLI...");
  

Вот еще одна команда, более близкая к тому, что я пытаюсь выполнить…
crontab (мой пользователь)

 * * * * * /var/www/html/vendor/bin/drush queue:run commerce_recurring -r /var/www/html/web >> /var/www/html/private/logs/cron_commerce_recurring.log
  

Ошибка, которую я получаю здесь,:

Очередь команд: выполнить не найдено. Drush не удалось запросить базу данных. В
результате многие команды недоступны. Повторно запустите свою команду с помощью —debug
, чтобы увидеть соответствующие сообщения журнала.

Я получаю ту же ошибку при запуске этой команды с помощью консоли drupal.

Любые предложения приветствуются.

Спасибо.

Комментарии:

1. -r — это сокращение от —root .

Ответ №1:

Это оказалось проблемой с подключением к базе данных. Сложная часть заключалась в том, чтобы добраться до ошибки. Мне пришлось установить MTA, чтобы cron мог записывать ошибки в почтовый ящик моего локального пользователя, а затем добавить опцию —debug, чтобы я мог видеть реальную ошибку.

Я работаю над экземпляром DDEV, и по какой-то причине настройки DDEV не загружались. Проблема на другой день…