Задать вопрос
@Fixis

Как работать с БД в Gearman/RabbitMQ?

Как должна происходить работа с БД при работе воркеров в очередях? Например, я использую Gearman, пишу воркер, который бесконечно слушает свою "очередь". При поступлении задачи он делает запрос, обрабатывает данные и записывает результат в базу.

Если подключение создавать в начале, и оно будет открытым всегда, это, наверное, не совсем корректно (да и отвалится по таймауту). А если делать подключение при каждом исполнении задачи - не разумно (допустим, пришло в секунду 10 задач - и 10 раз в секунду произошло подключение/отключение).
  • Вопрос задан
  • 405 просмотров
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@Vdm17
PHP Developer
Как вариант - заведите себе внутри воркера таймаут для отключения от сервера БД. Т.е. начал работать воркер, поступила задача - подключились к БД и обработали. Потом если в течение 30 секунд не было ни одной задачи - отключились от БД.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Fixis Автор вопроса
Да, именно так и начал реализовывать)
Спасибо!
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы