class QPush::Server::Perform
The Perform
worker runs any jobs that are queued into our Redis server. It will perform a 'blocking pop' on our job list until one is added.
Public Class Methods
new()
click to toggle source
# File lib/qpush/server/perform.rb, line 7 def initialize @done = false end
Public Instance Methods
shutdown()
click to toggle source
Shutsdown our perform process.
# File lib/qpush/server/perform.rb, line 22 def shutdown @done = true end
start()
click to toggle source
Starts our perform process. This will run until instructed to stop.
# File lib/qpush/server/perform.rb, line 13 def start until @done job = retrieve_job job.execute if job end end
Private Instance Methods
retrieve_job()
click to toggle source
Performs a 'blocking pop' on our redis job list.
# File lib/qpush/server/perform.rb, line 30 def retrieve_job json = Server.redis { |c| c.brpop(Server.keys[:perform_list]) } Job.new(JSON.parse(json.last)) rescue => e raise ServerError, e.message end