Class: WarouzServer::Worker
- Inherits:
-
Object
- Object
- WarouzServer::Worker
- Includes:
- MysqlManager
- Defined in:
- lib/warouz_server/worker.rb
Instance Method Summary collapse
-
#initialize ⇒ Worker
constructor
A new instance of Worker.
- #start ⇒ Object
- #stop ⇒ Object
Methods included from MysqlManager
Constructor Details
#initialize ⇒ Worker
Returns a new instance of Worker.
4 5 6 7 8 9 10 |
# File 'lib/warouz_server/worker.rb', line 4 def initialize self.master=WarouzServer::Master.instance self.logger=master.logger self.running=true self.database = connect logger.info("#{self.class.name} is initialized.") end |
Instance Method Details
#start ⇒ Object
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/warouz_server/worker.rb', line 12 def start while running do event=master.events.pop begin query=build_insert_query(event) execute_query(database,query) rescue => e logger.error("#{Thread.current.object_id} failed to process... \n {e}") end logger.debug("Process event #{event.class} by thread #{Thread.current.object_id}.") end # Graceful stop database.close if database nil end |
#stop ⇒ Object
28 29 30 31 |
# File 'lib/warouz_server/worker.rb', line 28 def stop self.running=false nil end |