#laravel #queue #beanstalkd
#laravel #очередь #beanstalkd
Вопрос:
У меня есть производственный веб-сайт Laravel, который использует Beanstalk в качестве драйвера очереди.
Теперь меня попросили создать промежуточный веб-сайт на том же сервере со всеми теми же функциональными возможностями, что и производственный веб-сайт.
Я беспокоюсь об очередях и запланированных задачах. Из того, что я вижу, на сервере существует один процесс beanstalkd. Если я начну добавлять что-то в очередь с промежуточного сервера, то я обеспокоен тем, что запланированные задачи с производственного сервера подхватят это и выполнят действия в очереди (некоторые из которых могут быть очень сложными, например, выставление счетов пользователям).
Промежуточный сервер должен иметь реальную производственную базу данных, чтобы иметь смысл, включая реальные данные участника.
Как мне настроить промежуточное приложение Laravel так, чтобы оно не сталкивалось с производственным в этом отношении, но имело идентичную базу данных?
Ответ №1:
У вас либо настроено два соединения с разными каналами по умолчанию, и на основе ENV вы можете отправлять сообщения на разные каналы.
Или у вас одно соединение, но вы указываете другой канал. Таким образом, у вас есть один набор каналов для live, а другой для dev.
смотрите некоторые рекомендации здесь: https://laracasts.com/discuss/channels/general-discussion/queue-with-two-tubes