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