module QC::Config

Public Instance Methods

app_name() click to toggle source

You can use the APP_NAME to query for postgres related process information in the pg_stat_activity table.

# File lib/queue_classic/config.rb, line 6
def app_name
  @app_name ||= ENV["QC_APP_NAME"] || "queue_classic"
end
default_queue() click to toggle source

The default queue used by `QC.enqueue`.

# File lib/queue_classic/config.rb, line 29
def default_queue
  @default_queue ||= Queue.new(QC.queue)
end
default_queue=(queue) click to toggle source
# File lib/queue_classic/config.rb, line 33
def default_queue=(queue)
  @default_queue = queue
end
default_worker_class() click to toggle source

The worker class instantiated by QC's rake tasks.

# File lib/queue_classic/config.rb, line 60
def default_worker_class

  @worker_class ||= (ENV["QC_DEFAULT_WORKER_CLASS"] && Kernel.const_get(ENV["QC_DEFAULT_WORKER_CLASS"]) ||
                     QC::Worker)

end
default_worker_class=(worker_class) click to toggle source
# File lib/queue_classic/config.rb, line 67
def default_worker_class=(worker_class)
  @worker_class = worker_class
end
fork_worker?() click to toggle source

Set this variable if you wish for the worker to fork a UNIX process for each locked job. Remember to re-establish any database connections. See the worker for more details.

# File lib/queue_classic/config.rb, line 55
def fork_worker?
  @fork_worker ||= (!ENV["QC_FORK_WORKER"].nil?)
end
queue() click to toggle source
# File lib/queue_classic/config.rb, line 24
def queue
  @queue = ENV["QUEUE"] || "default"
end
queues() click to toggle source

Each row in the table will have a column that notes the queue. You can point your workers at different queues.

# File lib/queue_classic/config.rb, line 40
def queues
  @queues ||= (ENV["QUEUES"] && ENV["QUEUES"].split(",").map(&:strip)) || []
end
reset_config() click to toggle source

reset memoized configuration

# File lib/queue_classic/config.rb, line 72
def reset_config
  # TODO: we might want to think about storing these in a Hash.
  @app_name = nil
  @wait_time = nil
  @table_name = nil
  @queue = nil
  @default_queue = nil
  @queues = nil
  @top_bound = nil
  @fork_worker = nil
  @worker_class = nil
end
table_name() click to toggle source

Why do you want to change the table name? Just deal with the default OK? If you do want to change this, you will need to update the PL/pgSQL lock_head() function. Come on. Don't do it.… Just stick with the default.

# File lib/queue_classic/config.rb, line 20
def table_name
  @table_name ||= "queue_classic_jobs"
end
top_bound() click to toggle source

Set this to 1 for strict FIFO. There is nothing special about 9.…

# File lib/queue_classic/config.rb, line 46
def top_bound
  @top_bound ||= (ENV["QC_TOP_BOUND"] || 9).to_i
end
wait_time() click to toggle source

Number of seconds to block on the listen chanel for new jobs.

# File lib/queue_classic/config.rb, line 11
def wait_time
  @wait_time ||= (ENV["QC_LISTEN_TIME"] || 5).to_i
end