Ruby on rails Rails:如何每n分钟发送(更改)http POST?

Ruby on rails Rails:如何每n分钟发送(更改)http POST?,ruby-on-rails,message-queue,Ruby On Rails,Message Queue,请帮帮我 我需要通过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|1514555000

请帮帮我

我需要通过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 post请求所需的参数,并且需要在
send\u时间
发送(几分钟或几分钟)

我现在每分钟都有一个rake任务,它检查数据库并相应地发送帖子。但这似乎是一种脆弱的方式。此外,这个需要很好地伸缩;我必须能够在一分钟内发送许多(比如说数千)


你将如何解决这个问题?

这是最好由背景工作者完成的工作。每一条需要发送的文本消息都是一个作业,有一定的运行时间

两者都支持send later(这在resque中还不是第一个类,但有一些示例),因此这两个都是此任务的好选择


要实现这种规模,您需要添加更多的工作人员来使用消息。

这是最好由后台工作人员完成的工作。每一条需要发送的文本消息都是一个作业,有一定的运行时间

两者都支持send later(这在resque中还不是第一个类,但有一些示例),因此这两个都是此任务的好选择


要达到这个规模,您需要添加更多的工作人员来使用这些消息。

谢谢您的回答jonnii。因此,我可以使用DJ异步发送消息。如何在正确的时间将消息排队?我还是被每分钟一次的cron-rake困住了吗?好吧,你的答案,再加上它应该有用。从
cron
调用
wget
curl
(而不是rake任务)。您可以使用DJ的send later功能对它们进行排队。然后,当DJ运行时,它将选择适用于
的作业。啊,甚至更好!我看了看DJ,但不知怎么的,我从来没有注意到
:run\u at
选项。非常感谢jonnii!谢谢你的回答,乔尼。因此,我可以使用DJ异步发送消息。如何在正确的时间将消息排队?我还是被每分钟一次的cron-rake困住了吗?好吧,你的答案,再加上它应该有用。从
cron
调用
wget
curl
(而不是rake任务)。您可以使用DJ的send later功能对它们进行排队。然后,当DJ运行时,它将选择适用于
的作业。啊,甚至更好!我看了看DJ,但不知怎么的,我从来没有注意到
:run\u at
选项。非常感谢jonnii!