我的 Ruby 项目中有一个模型Resend,它包含内容和状态列。
使用 EventMachine 使用状态为 0 的所有记录的最佳/最快方法是什么?
我想创建一个简单的工作人员,尝试在每个时期(比如每 5 分钟)查找 status==0 的记录
我还是 EventMachine 的新手,找不到太多如何处理 DB 的例子。
到目前为止,我做了如下的事情,但不确定它是否是最好的实现:
$ROOT_PATH ||= File.expand_path("#{File.dirname __FILE__}")
require "rubygems"
require 'eventmachine'
require 'em-http'
require "#{$ROOT_PATH}/app/models/resend.rb"
EventMachine.run do
EM.add_periodic_timer(5) do
Resend.active.each do |msg|
http = EventMachine::HttpRequest.new($RECEIVER_URL).post :body => {:message => msg.content }
http.callback { msg.update_status! }
end
end
end
任何帮助将不胜感激