Выполнение заданий Resque - PullRequest
0 голосов
/ 30 июня 2011

Моя работа Resque в основном принимает хэш параметров и сохраняет его в БД. В процессе он выполняет несколько операций чтения и записи.

Эти R / W занимают ок. Всего 5 мс на моей локальной машине и немного больше на Heroku (наверное, из-за общей БД).

Однако скорость обработки очереди очень низкая / около 2-3 заданий в секунду. Что может быть причиной этого?

Спасибо.

1 Ответ

0 голосов
/ 30 июня 2011

Проверьте новую работу, заблокируйте работу, сделайте работу, отметьте ее как выполненную, ищите новую работу.

Вы можете обнаружить, что переговоры о поиске новой работы, доступе к Redis и т. Д. Приводят к большим накладным расходам. Если ваша задача всего 5 мс, она, вероятно, может существовать в цикле запрос-ответ. Фоновые задания хороши, когда выполнение задачи значительно увеличивает время отклика, очень маленькие задания, как правило, не стоят затраченных усилий.

...