Revision c7540a9c
Added by Amos Benari almost 12 years ago
- ID c7540a9c5a0f3f28177f546608e835d3671d1af1
app/models/orchestration.rb | ||
---|---|---|
def self.included(base)
|
||
base.send :include, InstanceMethods
|
||
base.class_eval do
|
||
attr_reader :queue, :old, :record_conflicts
|
||
attr_reader :queue, :post_queue, :old, :record_conflicts
|
||
# stores actions to be performed on our proxies based on priority
|
||
before_validation :set_queue
|
||
before_validation :setup_clone
|
||
... | ... | |
|
||
# save handles both creation and update of hosts
|
||
before_save :on_save
|
||
after_commit :post_commit
|
||
after_destroy :on_destroy
|
||
end
|
||
end
|
||
... | ... | |
module InstanceMethods
|
||
|
||
protected
|
||
|
||
def on_save
|
||
process queue
|
||
end
|
||
|
||
def post_commit
|
||
process post_queue
|
||
end
|
||
|
||
def on_destroy
|
||
errors.empty? ? process(queue) : false
|
||
end
|
||
... | ... | |
|
||
def set_queue
|
||
@queue = Orchestration::Queue.new
|
||
@post_queue = Orchestration::Queue.new
|
||
@record_conflicts = []
|
||
end
|
||
|
Also available in: Unified diff
moved ssh provisioning to post transaction queue