我有一个简单的控制器,我希望该控制器启动一个守护程序来执行后台工作(它读取连接到计算机的 Arduino 板提供的 sstdin 数据)。
class DaemonController < ApplicationController
def index
require 'rubygems'
require 'daemons'
options = {
:app_name => "collectTemperature",
:multiple => true
}
readtty = Daemons.call(options) do
loop {
sleep 10
}
end
end # def
end # class
它确实创建了一个进程(从现在开始它只是休眠,但是一旦这个简单的代码可以工作,我就会进入它)但是当我通过浏览器上的 rails 框架调用控制器时,我在浏览器指针中收到一条错误消息,指向该行守护进程调用(第 14 行)。
SystemExit in DaemonController#index
daemons (1.1.9) lib/daemons/daemonize.rb:65:in `exit'
daemons (1.1.9) lib/daemons/daemonize.rb:65:in `call_as_daemon'
daemons (1.1.9) lib/daemons/application.rb:259:in `start_proc'
daemons (1.1.9) lib/daemons/application.rb:296:in `start'
daemons (1.1.9) lib/daemons.rb:252:in `call'
app/controllers/daemon_controller.rb:14:in `index'
我将不胜感激任何帮助,如果这是一个愚蠢的问题,我感到非常抱歉;-)