diff options
Diffstat (limited to 'task.rb')
-rw-r--r-- | task.rb | 53 |
1 files changed, 53 insertions, 0 deletions
@@ -0,0 +1,53 @@ +DEFAULT_TASK_MAX_DURATION = 36000 + +module OpenTox + + class Task + + include OpenTox + include Mongoid::Document + include Mongoid::Timestamps + store_in collection: "tasks" + field :pid, type: Integer + field :percent, type: Float, default: 0 + field :predictions, type: Hash, default:{} + field :csv, type: String + + attr_accessor :pid, :percent, :predictions, :csv + + def pid + self[:pid] + end + + def percent + self[:percent] + end + + def predictions + self[:predictions] + end + + def csv + self[:csv] + end + + def update_percent(percent) + self[:percent] = percent + save + end + + def self.run + task = Task.new #uri + pid = fork do + yield + end + Process.detach(pid) + task[:pid] = pid + task.save + task + end + + end + +end + |