Rails: Как отправлять (менять) http POST каждые n минут? - PullRequest
1 голос
/ 15 марта 2011

Пожалуйста, помогите мне.

Мне нужно http отправлять сообщения на определенный SMS-шлюз. Итак, у меня есть таблица, похожая на эту:

|     send_time     |  phone    |          msg          |
|2010-03-15 08:30:00|12125551234|'first message user A' |
|2010-03-15 09:30:00|12125551234|'secnd message user A' |
|2010-03-15 08:30:00|15145550000|'first message user B' |

Каждый представляет параметры, которые мне нужны для создания http-запроса, и его нужно отправить на send_time (дать или занять несколько минут).

В настоящее время у меня есть задача rake каждую минуту, которая проверяет БД и отправляет POST соответственно. Но это кажется надуманным способом сделать это. Кроме того, это должно очень хорошо масштабироваться ; Я должен быть в состоянии отправить много (скажем, тысячи) в данную минуту.

Как бы вы решили эту проблему?

1 Ответ

1 голос
/ 15 марта 2011

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

Обе отложенные задания и resque поддерживают отправку позже (это не первый класспока в resque, но есть примеры), так что оба из них были бы хорошим выбором для этой задачи.

Чтобы сделать эту шкалу, вы бы добавили больше работников для потребления сообщений.

...