Module: Workerholic

Defined in:
lib/workerholic.rb,
lib/workerholic/cli.rb,
lib/workerholic/job.rb,
lib/workerholic/queue.rb,
lib/workerholic/worker.rb,
lib/workerholic/manager.rb,
lib/workerholic/starter.rb,
lib/workerholic/storage.rb,
lib/workerholic/version.rb,
lib/workerholic/job_retry.rb,
lib/workerholic/sorted_set.rb,
lib/workerholic/job_wrapper.rb,
lib/workerholic/log_manager.rb,
lib/workerholic/job_processor.rb,
lib/workerholic/job_scheduler.rb,
lib/workerholic/job_serializer.rb,
lib/workerholic/job_statistics.rb,
lib/workerholic/statistics_api.rb,
lib/workerholic/worker_balancer.rb,
lib/workerholic/statistics_storage.rb

Defined Under Namespace

Modules: Job Classes: CLI, JobProcessor, JobRetry, JobScheduler, JobSerializer, JobStatistics, JobWrapper, LogManager, Manager, Queue, SortedSet, Starter, StatsAPI, StatsStorage, Storage, Worker, WorkerBalancer

Constant Summary collapse

PIDS =
[Process.pid]
REDIS_URL =
ENV['REDIS_URL'] || 'redis://localhost:' + ($TESTING ? '1234' : '6379')
VERSION =
'0.0.17'

Class Method Summary collapse

Class Method Details

.redis_poolObject



46
47
48
49
50
# File 'lib/workerholic.rb', line 46

def self.redis_pool
  @redis ||= ConnectionPool.new(size: workers_count + 5, timeout: 5) do
    Redis.new(url: REDIS_URL)
  end
end

.workers_countObject



37
38
39
# File 'lib/workerholic.rb', line 37

def self.workers_count
  @workers_count || 25
end

.workers_count=(num) ⇒ Object

Raises:

  • (ArgumentError)


41
42
43
44
# File 'lib/workerholic.rb', line 41

def self.workers_count=(num)
  raise ArgumentError unless num.is_a?(Integer) && num < 200
  @workers_count = num
end