Class: Rage::Configuration::Deferred
- Inherits:
-
Object
- Object
- Rage::Configuration::Deferred
- Defined in:
- lib/rage/configuration.rb
Defined Under Namespace
Classes: Backpressure, Middleware
Instance Method Summary collapse
-
#backend ⇒ Object
Returns the backend instance used by
Rage::Deferred. -
#backend=(config) ⇒ Object
Specify the backend used to persist deferred tasks.
-
#backpressure ⇒ Backpressure?
Returns the backpressure configuration used by
Rage::Deferred. -
#backpressure=(config) ⇒ Object
Configure backpressure settings for
Rage::Deferred. -
#enqueue_middleware ⇒ Rage::Configuration::Deferred::Middleware
Configure enqueue middleware used by
Rage::Deferred. -
#perform_middleware ⇒ Rage::Configuration::Deferred::Middleware
Configure perform middleware used by
Rage::Deferred.
Instance Method Details
#backend ⇒ Object
Returns the backend instance used by Rage::Deferred.
661 662 663 664 665 666 667 668 |
# File 'lib/rage/configuration.rb', line 661 def backend unless @backend_class @backend_class = Rage::Deferred::Backends::Disk @backend_options = ({}) end @backend_class.new(**@backend_options) end |
#backend=(disk, options = {}) ⇒ Object #backend=(nil) ⇒ Object
Specify the backend used to persist deferred tasks. Supported values are :disk, which uses disk storage, or nil, which disables persistence of deferred tasks.
691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 |
# File 'lib/rage/configuration.rb', line 691 def backend=(config) @configured = true backend_id, opts = if config.is_a?(Array) [config[0], config[1]] else [config, {}] end @backend_class = case backend_id when :disk @backend_options = (opts) Rage::Deferred::Backends::Disk when nil Rage::Deferred::Backends::Nil else raise ArgumentError, "unsupported backend value; supported keys are `:disk` and `nil`" end end |
#backpressure ⇒ Backpressure?
Returns the backpressure configuration used by Rage::Deferred.
727 728 729 |
# File 'lib/rage/configuration.rb', line 727 def backpressure @backpressure end |
#backpressure=(true) ⇒ Object #backpressure=(false) ⇒ Object #backpressure=(config) ⇒ Object
Configure backpressure settings for Rage::Deferred. Backpressure is used to limit the number of pending tasks in the queue and is disabled by default.
757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 |
# File 'lib/rage/configuration.rb', line 757 def backpressure=(config) @configured = true if config == true @backpressure = Backpressure.new return elsif config == false @backpressure = nil return end if config.except(:high_water_mark, :low_water_mark, :timeout).any? raise ArgumentError, "unsupported backpressure options; supported keys are `:high_water_mark`, `:low_water_mark`, `:timeout`" end high_water_mark, low_water_mark, timeout = config.values_at(:high_water_mark, :low_water_mark, :timeout) @backpressure = Backpressure.new(high_water_mark, low_water_mark, timeout) end |
#enqueue_middleware ⇒ Rage::Configuration::Deferred::Middleware
Configure enqueue middleware used by Rage::Deferred. See EnqueueMiddlewareInterface for details on the arguments passed to the middleware.
803 804 805 |
# File 'lib/rage/configuration.rb', line 803 def enqueue_middleware @enqueue_middleware ||= Middleware.new end |
#perform_middleware ⇒ Rage::Configuration::Deferred::Middleware
Configure perform middleware used by Rage::Deferred. See PerformMiddlewareInterface for details on the arguments passed to the middleware.
814 815 816 |
# File 'lib/rage/configuration.rb', line 814 def perform_middleware @perform_middleware ||= Middleware.new end |