2013-06-17 1 views
0

У меня есть платформа, на которую пользователи отправляют непрерывно данные. Данные передаются приложением Android синхронно, так как в противном случае может возникнуть неподходящее состояние.Очередь входящих запросов API в приложении rails

Это неиспользуемое состояние по-прежнему появляется, когда API-вызов терпит неудачу (из-за исключения в рельсах) и проходят последовательные вызовы API.

Поэтому я хотел бы поставить очередь входящих запросов API на пользователя, если произошла ошибка.

Каков наилучший способ очереди входящих запросов API? 1) Являются ли драгоценные камни resque подходящими для этого требования? И если да, должен ли каждый пользователь получить собственную очередь? 2) Или проще и проще создавать собственные очереди в новой модели в Rails?

+0

Вы можете использовать список redis для этого с именем списка uniq каждому указанному пользователю и вставлять данные в очередь, а затем работать на фоне либо через resque, либо с помощью любого другого инструмента – Viren

ответ

0

Я бы порекомендовал использовать драгоценный камень под названием Event Machine.

Это драгоценный камень, используемый для обработки нескольких запросов в режиме реального времени, с различными вариантами конфигурации и возможностью масштабирования, сохраняя высокую производительность и стабильность.

This является еще одним официальным сайтом gem.

Надеюсь, что это поможет.

0

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

Чтобы итерация очереди была строго синхронной, я использую механизм блокировки в очереди.