Я работаю над многопользовательской архитектурой с множеством баз данных, используя Laravel, что в основном означает, что каждый арендатор приложения имеет свою собственную базу данных, собственные наборы пользователей, ресурсы и т.д.
Теперь я пытаюсь реализовать очереди и кэширование в приложении, тогда я пытаюсь использовать redis для этого. Пример кода выглядит так:
$mailer->send('emails.welcome', ['user' => $user], function ($message) use ($user) {
$message->from("[email protected]", "Admin");
$message->to($user->email, $user->first_name)->subject("Welcome!");
});
Это отправить приветственное письмо пользователю. Но очередь представляет собой хранение всех очередей в одной и той же базе данных в том же экземпляре Redis, по-разному меня будут путать разные электронные письма арендатора.
Как подключиться к Laravel 5 и изменить поведение очереди, чтобы либо хранить задания для каждого арендатора в отдельной базе данных, либо хранить дополнительную метаинформацию о арендаторе, к которому принадлежит конкретная работа? И тогда также, как бы я сказал Laravel проанализировать эту дополнительную метаинформацию и подключиться к правильной базе данных арендаторов, прежде чем продолжить работу?