Module: DispatchPolicy
- Defined in:
- lib/dispatch_policy.rb,
lib/dispatch_policy/gate.rb,
lib/dispatch_policy/tick.rb,
lib/dispatch_policy/engine.rb,
lib/dispatch_policy/policy.rb,
lib/dispatch_policy/version.rb,
lib/dispatch_policy/tick_loop.rb,
lib/dispatch_policy/dispatchable.rb,
lib/dispatch_policy/gates/throttle.rb,
lib/dispatch_policy/dispatch_context.rb,
lib/dispatch_policy/gates/global_cap.rb,
app/models/dispatch_policy/staged_job.rb,
lib/dispatch_policy/gates/concurrency.rb,
lib/dispatch_policy/gates/fair_interleave.rb,
app/models/dispatch_policy/throttle_bucket.rb,
app/models/dispatch_policy/application_record.rb,
lib/dispatch_policy/gates/adaptive_concurrency.rb,
app/models/dispatch_policy/partition_observation.rb,
app/controllers/dispatch_policy/policies_controller.rb,
app/models/dispatch_policy/partition_inflight_count.rb,
app/models/dispatch_policy/adaptive_concurrency_stats.rb,
app/controllers/dispatch_policy/application_controller.rb,
lib/dispatch_policy/active_job_perform_all_later_patch.rb
Defined Under Namespace
Modules: ActiveJobPerformAllLaterPatch, Dispatchable, Gates
Classes: AdaptiveConcurrencyStats, ApplicationController, ApplicationRecord, Config, DispatchContext, Engine, Gate, PartitionInflightCount, PartitionObservation, PoliciesController, Policy, StagedJob, ThrottleBucket, Tick, TickLoop
Constant Summary
collapse
- VERSION =
"0.2.0"
Class Method Summary
collapse
Class Method Details
.config ⇒ Object
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
# File 'lib/dispatch_policy.rb', line 23
def self.config
@config ||= Config.new(
enabled: true,
lease_duration: 15 * 60, batch_size: 500,
round_robin_quantum: 50,
tick_max_duration: 60, tick_sleep: 1, tick_sleep_busy: 0.05, partition_idle_ttl: 30 * 60, admin_partition_limit: 5_000
)
end
|
41
42
43
|
# File 'lib/dispatch_policy.rb', line 41
def self.configure
yield config
end
|
.enabled? ⇒ Boolean
45
46
47
|
# File 'lib/dispatch_policy.rb', line 45
def self.enabled?
config.enabled != false
end
|
.registry ⇒ Object
Registry: policy_name => job_class. Populated by Policy#initialize.
50
51
52
|
# File 'lib/dispatch_policy.rb', line 50
def self.registry
@registry ||= {}
end
|
.reset_registry! ⇒ Object
54
55
56
|
# File 'lib/dispatch_policy.rb', line 54
def self.reset_registry!
@registry = {}
end
|