diff options
author | gebele <gebele@in-silico.ch> | 2015-03-09 10:42:32 +0100 |
---|---|---|
committer | gebele <gebele@in-silico.ch> | 2015-03-09 10:42:32 +0100 |
commit | 4c9c37c829532fdf0b920e179881cfd010b94ace (patch) | |
tree | c6fb607019930ef39082e562f9e6c1c9d47fdc31 /lib | |
parent | 4dddb1e7a8166fbca382d5d312aa9e6fb5bb1c25 (diff) |
reintroduce percentageCompleted for task progress;added method to generate a task uri for pass to object to update progress
Diffstat (limited to 'lib')
-rw-r--r-- | lib/task.rb | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/lib/task.rb b/lib/task.rb index f5016d5..a64e668 100644 --- a/lib/task.rb +++ b/lib/task.rb @@ -10,13 +10,18 @@ module OpenTox super true # always update metadata end - def self.run(description, creator=nil) + def self.task_uri + Task.new.uri + end + + def self.run(description, creator=nil, uri=nil) - task = Task.new nil + task = Task.new uri task[RDF::OT.created_at] = DateTime.now task[RDF::OT.hasStatus] = "Running" task[RDF::DC.description] = description.to_s task[RDF::DC.creator] = creator.to_s + task[RDF::OT.percentageCompleted] = "0" task.put pid = fork do begin @@ -72,6 +77,7 @@ module OpenTox self.[]=(RDF::OT.resultURI, uri) self.[]=(RDF::OT.hasStatus, "Completed") self.[]=(RDF::OT.finished_at, DateTime.now) + self.[]=(RDF::OT.percentageCompleted, "100") put end @@ -110,7 +116,7 @@ module OpenTox code >= 400 and code != 503 end - [:hasStatus, :resultURI, :created_at, :finished_at].each do |method| + [:hasStatus, :resultURI, :created_at, :finished_at, :percentageCompleted].each do |method| define_method method do response = self.[](RDF::OT[method]) response = self.[](RDF::OT1[method]) unless response # API 1.1 compatibility @@ -139,7 +145,7 @@ module OpenTox report end - #TODO: subtasks (only for progress) + #TODO: subtasks (only for progress in validation) class SubTask def initialize(task, min, max) |