带有rackup的run_later无法使用ctrl-c - Ruby退出

时间:2011-03-30 18:33:32

标签: ruby multithreading thread-safety sinatra rackup

我使用此run_later https://github.com/elecklider/sinatra_run_later模块(我自己的https://github.com/pmamediagroup/sinatra_run_later分支)运行带有rackup的Sinatra应用程序。但是,当我将ctrl-c发送到rackup时,我似乎无法让它干净利落地退出。它在第38行用错误ERROR SystemExit: exit回击。当我关闭机架式进程时,如何才能让它很好地退出?

修改

我一直在搞乱这个问题,这里提出错误:

trap :INT do
  RunLater::Worker.shutdown
  exit # here.
end

似乎注释掉整个trap块可以很好地清理它。从本质上讲,这回答了如何让它清理干净的问题,但我不知道为什么如果有人能提供一些澄清,我真的很感激。

0 个答案:

没有答案