Sha256: df852ea26368fd631f2a0e96f17b0a375ebc13fc0683766a0390756681f1d99d
Contents?: true
Size: 592 Bytes
Versions: 1
Compression:
Stored size: 592 Bytes
Contents
# frozen_string_literal: true require_relative 'job' require_relative 'queue' module Quiq class Worker def initialize(queue) @queue = Queue.new(queue) end def start # Set the process name Process.setproctitle("quiq worker #{@queue.name}") # Reschedule jobs that get terminated before completion # Beware that the jobs must be idempotent! @queue.purge_processing! # Then start processing enqueued jobs Async do loop { Job.new(@queue.pop, @queue).run } ensure Quiq.redis.close end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
quiq-0.2.0 | lib/quiq/worker.rb |