Ruby on rails 如何在rails服务器启动时初始化ruby类中的方法
我已经创建了ruby线程,它可以保持从队列中轮询消息。 下面是保持无限轮询队列的基本代码块。我如何在rails服务器启动时初始化此方法(Poller类中的poll方法),以便在应用程序启动时运行此代码(无限循环线程)块Ruby on rails 如何在rails服务器启动时初始化ruby类中的方法,ruby-on-rails,ruby,multithreading,ruby-on-rails-3,Ruby On Rails,Ruby,Multithreading,Ruby On Rails 3,我已经创建了ruby线程,它可以保持从队列中轮询消息。 下面是保持无限轮询队列的基本代码块。我如何在rails服务器启动时初始化此方法(Poller类中的poll方法),以便在应用程序启动时运行此代码(无限循环线程)块 class Poller class << self def poll begin ----polling logic for queue sleep(1.minute) end while(true) end
class Poller
class << self
def poll
begin
----polling logic for queue
sleep(1.minute)
end while(true)
end
end
end
类轮询器
类您可以从初始值设定项调用poll方法并执行代码
只需在initializers和call poll方法中创建一个.rb文件。我已经更新了我的问题,希望现在在Rails生产系统上更好,通常每个服务器有多个服务器进程或线程,有时甚至有多个服务器。您是想为所有人启动一个轮询器
,还是每个人启动一个轮询器
?当出现问题时,您计划如何通过重新启动web服务器进程来重新启动轮询器?启动在每分钟运行一次的Cron作业中只轮询一次的轮询器
是一个选项吗?我想这更容易设置,更容易管理,更可靠。每台服务器都有一个轮询器。我如何让上面的类在服务器启动时开始执行轮询方法?它应该通过我现有的rails应用程序进行,而不是通过任何其他方式。如果我将文件保存在Initializer文件夹下,rails会使用轮询方法吗?