require 'jimson'
require 'ParseConfig'
class NodeHandler
extend Jimson::Handler
def sum(a,b)
a + b
puts a+b
end
end
server = Jimson::Server.new(NodeHandler.new,
:host => '127.0.0.1',
:port => 8888)
server.start # serve with webrick on http://0.0.0.0:8888/
# def foo(a,b)
...
# end
###I want to call this function each 5s for exmaple
我有一个像上面这样的rpc服务器。它现在非常简单,提供了一个总和功能。 我还需要每个10秒的逻辑,我调用一些名为foo()的函数。 但现在,此服务器启动并等待RPC客户端消息。我该如何做周期性功能?
由于
答案 0 :(得分:0)
好的,我会回答我自己的问题。 我发现有一个“作品”宝石可以解决我的问题。 我将服务器作业委托给另一个线程。 通过这样做,我可以使用主线程做任何我想做的事情。
所以我做了这样的事情:
# Initialize a worker pool.
pool = Workers::Pool.new(:on_exception => proc { |e|
puts "A worker encountered an exception: #{e.class}: #{e.message}"
})
pool.perform do
server = Jimson::Server.new(NodeHandler.new,
:host => '127.0.0.1',
:port => port)
server.start # serve with webrick on http://0.0.0.0:8999/
end