我正在实施 Amazon SQS 服务以处理大量消息以将其保存在数据库中。我可以使用 right_aws gem 推送消息。我还可以通过为 gem 提供的示例提取消息。
我最终可能会拥有多个 ruby/rails 服务器拉取和处理消息的实例(使用 SQS 的锁定和超时功能)。我想探索使用一些启动脚本提取消息的机会,或者在启动 ruby/rails 服务器期间进行初始化,并让组件始终运行并处理消息,直到服务器停止。
有人可以分享一些关于如何实施的参考吗?
我正在实施 Amazon SQS 服务以处理大量消息以将其保存在数据库中。我可以使用 right_aws gem 推送消息。我还可以通过为 gem 提供的示例提取消息。
我最终可能会拥有多个 ruby/rails 服务器拉取和处理消息的实例(使用 SQS 的锁定和超时功能)。我想探索使用一些启动脚本提取消息的机会,或者在启动 ruby/rails 服务器期间进行初始化,并让组件始终运行并处理消息,直到服务器停止。
有人可以分享一些关于如何实施的参考吗?
如果处理不是您需要回答的在线请求的一部分,那么最好的方法是编写专门的脚本,该脚本将始终运行一个循环(如果没有太多工作要做,可能会休眠)。
您将拉出一条消息,处理它,删除它并继续下一条。
在机器启动时运行这些进程并使用诸如Supervisord之类的东西来监控它们