У меня Laravel (v-5.3.31), размещенный на экземпляре AWS ec2 (назовем его A). База данных находится на другом экземпляре AWS AURORA (назовем его B).
Я выполнил все шаги, чтобы создать очередь. Когда я создаю работу через приложение Laravel, я могу видеть работу в работы Таблица. но когда я создаю работника очереди, используя команду на A php artisan queue:work --once
это просто возвращается. это не обрабатывает никакой работы.
В своей работе я создаю новую базу данных на базе данных AURORA DB (B). Код ниже —
public static function createDB($master_id)
{
$dbName = 'db_id_'.$master_id;
DB::connection('AURORA')->statement('CREATE DATABASE IF NOT EXISTS '.$dbName);
}
Некоторые выводы:
1. Если я выполняю те же шаги из моей локальной системы, это работает.
2. Если я удаляю код создания БД из JOB, строка № 2. Это работает, значит создание БД создает проблему.
Я не могу найти причину, может кто-нибудь дать намек …
Задача ещё не решена.
Других решений пока нет …