Module: FiberJob
- Defined in:
- lib/fiber_job.rb,
lib/fiber_job/jid.rb,
lib/fiber_job/job.rb,
lib/fiber_job/cron.rb,
lib/fiber_job/queue.rb,
lib/fiber_job/client.rb,
lib/fiber_job/config.rb,
lib/fiber_job/logger.rb,
lib/fiber_job/worker.rb,
lib/fiber_job/version.rb,
lib/fiber_job/cron_job.rb,
lib/fiber_job/concurrency.rb,
lib/fiber_job/cron_parser.rb,
lib/fiber_job/process_manager.rb
Overview
FiberJob is a high-performance, Redis-based background job processing library for Ruby built on modern fiber-based concurrency. It combines the persistence of Redis with the speed of async fibers to deliver exceptional performance and reliability.
Defined Under Namespace
Classes: Client, ConcurrencyManager, Config, Cron, CronJob, CronParser, JID, Job, Logger, NullLogger, ProcessManager, Queue, Worker
Constant Summary collapse
- VERSION =
'0.2.6'
Class Method Summary collapse
-
.config ⇒ FiberJob::Config
Returns the current configuration instance.
-
.configure {|config| ... } ⇒ void
Configures the FiberJob library with custom settings.
-
.logger ⇒ FiberJob::Logger
Returns the current logger instance.
-
.register_cron_jobs ⇒ void
Automatically discovers and registers all cron job classes.
Class Method Details
.config ⇒ FiberJob::Config
Returns the current configuration instance. Creates a new configuration if one doesn’t exist.
71 72 73 |
# File 'lib/fiber_job.rb', line 71 def config @config ||= Config.new end |
.configure {|config| ... } ⇒ void
This method returns an undefined value.
Configures the FiberJob library with custom settings. Yields the configuration object to the provided block for customization.
58 59 60 |
# File 'lib/fiber_job.rb', line 58 def configure yield(config) end |
.logger ⇒ FiberJob::Logger
Returns the current logger instance. Creates a new logger with the current configuration if one doesn’t exist.
84 85 86 |
# File 'lib/fiber_job.rb', line 84 def logger @logger ||= FiberJob::Logger.new(config) end |
.register_cron_jobs ⇒ void
This method returns an undefined value.
Automatically discovers and registers all cron job classes. Scans ObjectSpace for classes that inherit from FiberJob::CronJob and registers them for scheduling.
102 103 104 |
# File 'lib/fiber_job.rb', line 102 def register_cron_jobs ObjectSpace.each_object(Class).select { |klass| klass < FiberJob::CronJob }.each(&:register) end |