Project

General

Profile

« Previous | Next » 

Revision 467ea135

Added by Dominic Cleal almost 11 years ago

  • ID 467ea135da2b2309d306fd7e97d5c52a9ab00dbe
  • Child d30ac557

fixes #2612 - move Task into Orchestration namespace due to RbVmomi conflict

View differences:

lib/orchestration/queue.rb
require 'task'
require 'orchestration/task'
module Orchestration
# Represents tasks queue for orchestration
class Queue
lib/orchestration/task.rb
module Orchestration
class Task
attr_reader :name, :status, :priority, :action, :timestamp
def initialize opts
@name = opts[:name]
@status = opts[:status]
@priority = opts[:priority] || 0
@action = opts[:action]
update_ts
end
def status=s
if Orchestration::Queue::STATUS.include?(s)
update_ts
@status = s
else
raise "invalid STATE #{s}"
end
end
def to_s
"#{name}\t #{priority}\t #{status}\t #{action}"
end
def as_json options = {}
super :only => [:name, :timestamp, :status]
end
private
def update_ts
@timestamp = Time.now
end
# sort based on priority
def <=> other
self.priority <=> other.priority
end
end
end
lib/task.rb
class Task
attr_reader :name, :status, :priority, :action, :timestamp
def initialize opts
@name = opts[:name]
@status = opts[:status]
@priority = opts[:priority] || 0
@action = opts[:action]
update_ts
end
def status=s
if Orchestration::Queue::STATUS.include?(s)
update_ts
@status = s
else
raise "invalid STATE #{s}"
end
end
def to_s
"#{name}\t #{priority}\t #{status}\t #{action}"
end
def as_json options = {}
super :only => [:name, :timestamp, :status]
end
private
def update_ts
@timestamp = Time.now
end
# sort based on priority
def <=> other
self.priority <=> other.priority
end
end

Also available in: Unified diff