class SimpleMapReduce::Server::Worker
Constants
- STATES
Attributes
url[RW]
Public Class Methods
new(url:, id: nil, state: nil, data_store_type: 'default')
click to toggle source
# File lib/simple_map_reduce/server/worker.rb, line 40 def initialize(url:, id: nil, state: nil, data_store_type: 'default') @url = url @id = id if STATES.include?(state) aasm_write_state_without_persistence(state) end @data_store = SimpleMapReduce::DataStoreFactory.create(data_store_type, server_url: url, resource_name: 'workers', resource_id: self.id) unless valid? raise ArgumentError, 'invalid url' end end
Public Instance Methods
dump()
click to toggle source
# File lib/simple_map_reduce/server/worker.rb, line 59 def dump { id: id, url: @url, state: state } end
id()
click to toggle source
# File lib/simple_map_reduce/server/worker.rb, line 55 def id @id ||= SecureRandom.uuid end
update!(url: nil, event: nil)
click to toggle source
update Job
@params [Hash] attributes @options attributes [String] url @options attributes [String] event
# File lib/simple_map_reduce/server/worker.rb, line 71 def update!(url: nil, event: nil) if url self.url = url end if event public_send(event.to_sym) end end
Private Instance Methods
save_state()
click to toggle source
# File lib/simple_map_reduce/server/worker.rb, line 87 def save_state @data_store.save_state(aasm.current_event) end
valid?()
click to toggle source
# File lib/simple_map_reduce/server/worker.rb, line 83 def valid? !@url.to_s.empty? && @url =~ URI::DEFAULT_PARSER.make_regexp end