summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgebele <gebele@in-silico.ch>2015-03-09 10:42:32 +0100
committergebele <gebele@in-silico.ch>2015-03-09 10:42:32 +0100
commit4c9c37c829532fdf0b920e179881cfd010b94ace (patch)
treec6fb607019930ef39082e562f9e6c1c9d47fdc31
parent4dddb1e7a8166fbca382d5d312aa9e6fb5bb1c25 (diff)
reintroduce percentageCompleted for task progress;added method to generate a task uri for pass to object to update progress
-rw-r--r--lib/task.rb14
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)