Just run your Sinatra app under thin
server and it will be fired with Eventmachine
Use eventmachine with sinatra, why it will always quit?
-
26-06-2022 - |
Question
why it always quit when i run this ruby program ?
This is the ruby program:
require 'rubygems'
require 'eventmachine'
require 'thread'
require 'sinatra'
Thread.new do
EventMachine.run do
EM.add_periodic_timer(1) do
#do some things
end
end
end
get '/' do
'hello'
end
when i run it, i got this:
lynn@ubuntu:~/Test$ ruby em1.rb
== Sinatra/1.4.2 has taken the stage on 4567 for development with backup from Thin
>> Thin web server (v1.5.1 codename Straight Razor)
>> Maximum connections set to 1024
>> Listening on localhost:4567, CTRL+C to stop
lynn@ubuntu:~/Test$
lynn@ubuntu:~/Test$ netstat -ant
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
tcp 0 0 127.0.1.1:53 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN
tcp 28 0 192.168.241.134:38223 91.189.92.11:443 CLOSE_WAIT
tcp 1 0 192.168.241.134:42978 91.189.94.25:80 CLOSE_WAIT
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:631 :::* LISTEN
lynn@ubuntu:~/Test$
it was quit when i run this ruby program, why? here i wanna a thread to periodicaly do some things with the http request! how can i do it ?
Solution
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow