From 9750e0309500259e9a56e267ce87984fb5bb5e53 Mon Sep 17 00:00:00 2001 From: gebele Date: Mon, 26 Nov 2018 15:29:26 +0000 Subject: clean out; better response codes; prepare for batch --- task.rb | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 task.rb (limited to 'task.rb') diff --git a/task.rb b/task.rb new file mode 100644 index 0000000..708613e --- /dev/null +++ b/task.rb @@ -0,0 +1,63 @@ +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 + field :dataset_id, type: BSON::ObjectId + field :model_id, type: BSON::ObjectId + + attr_accessor :pid, :percent, :predictions, :csv, :dataset_id, :model_id + + def pid + self[:pid] + end + + def percent + self[:percent] + end + + def predictions + self[:predictions] + end + + def csv + self[:csv] + end + + def dataset_id + self[:dataset_id] + end + + def model_id + self[:model_id] + 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 + -- cgit v1.2.3