Sha256: 40ac596cfc93d338bbc1a78bc7fbb457650894d4b63c5ac47dc3e50658726348

Contents?: true

Size: 906 Bytes

Versions: 1

Compression:

Stored size: 906 Bytes

Contents

# frozen_string_literal: true

require_relative 'quiq/version'
require_relative 'quiq/config'
require_relative 'quiq/server'
require_relative 'quiq/client'
require 'async/redis'

module Quiq
  class << self
    attr_accessor :configuration
  end

  def self.configure
    self.configuration ||= Config.instance
    yield(configuration) if block_given?
  end

  def self.redis
    configuration.redis
  end

  def self.run(options)
    configure if configuration.nil?
    configuration.queues = options[:queues] || ['default']

    # Lookup for workers in the given path or the current directory
    path = options[:path] || Dir.pwd
    if File.directory?(path)
      Dir.glob(File.join(path, '*.rb')).each { |file| require file }
    else
      require path
    end

    Server.instance.run
  end

  def self.queues
    configuration.queues
  end

  def self.current_task
    Async::Task.current
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
quiq-0.1.0 lib/quiq.rb