0
我想运行脚本文件,应用程序的后院。服务器启动时,脚本必须运行;直到服务器停止。 我知道rails runner
命令;但我的脚本包含数据库进程(插入),并返回错误命名为:Ruby on Rails如何在不交互的情况下运行脚本文件?
: uninitialized constant DataRecord (NameError)
script.rb:
#
# Some codes here
#
DataRecord.create(sensor_id: data[0].to_s, temperature: data[1].to_f, humudity: data[2].to_f)
#
# And some codes here..
#
-----------------------------------------------------------------
DataRecord是我的模型。它可以在'application_controller'上运行,当然还有交互。有人必须进入该网站。我不想要它。
data_record.rb:
class DataRecord < ApplicationRecord
end
application_record.rb:安装
class ApplicationRecord < ActiveRecord::Base
self.abstract_class = true
end
ActiveRecord的宝石。
~$ ruby -v
ruby 2.3.1p112
~$ rails -v
Rails 5.0.1
你认为ActiveJobs怎么样?我不知道它是如何使用的。但根据http://guides.rubyonrails.org/v4.2/active_job_basics.html,它可以运行后端进程;就像我想要的一样。但是,我不知道如何使用它,并且我不明白:/ – QatarNotAlone
要使用activejob,您需要设置一个像sidekiq或resque这样的作业运行器(如果您不是它只是在一个线程的Web应用程序进程中运行) – glebtv
好的,朋友。我会尝试你的suggession和activejob,并返回结果。谢谢。 – QatarNotAlone