kaal 0.5.0 → 0.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +24 -24
- data/config/kaal.yml +12 -0
- data/lib/kaal/backend/adapter.rb +4 -0
- data/lib/kaal/cli.rb +38 -34
- data/lib/kaal/config/backend_factory.rb +178 -0
- data/lib/kaal/config/configuration.rb +65 -7
- data/lib/kaal/config/file_loader.rb +187 -0
- data/lib/kaal/config.rb +2 -0
- data/lib/kaal/runtime/scheduler_boot_loader.rb +1 -1
- data/lib/kaal/scheduler_file/loader.rb +1 -1
- data/lib/kaal/version.rb +1 -1
- data/lib/kaal.rb +7 -0
- data/sig/00_types.rbs +12 -0
- data/sig/dependencies.rbs +49 -0
- data/sig/kaal/active_record_support.rbs +23 -0
- data/sig/kaal/backend/adapter.rbs +26 -0
- data/sig/kaal/backend/dispatch_attempt_logger.rbs +17 -0
- data/sig/kaal/backend/dispatch_logging.rbs +23 -0
- data/sig/kaal/backend/dispatch_registry_accessor.rbs +17 -0
- data/sig/kaal/backend/memory_adapter.rbs +33 -0
- data/sig/kaal/backend/mysql.rbs +25 -0
- data/sig/kaal/backend/postgres.rbs +19 -0
- data/sig/kaal/backend/redis_adapter.rbs +41 -0
- data/sig/kaal/backend/sqlite.rbs +19 -0
- data/sig/kaal/cli.rbs +41 -0
- data/sig/kaal/config/backend_factory.rbs +41 -0
- data/sig/kaal/config/configuration.rbs +70 -0
- data/sig/kaal/config/delayed_job_security_policy.rbs +19 -0
- data/sig/kaal/config/file_loader.rbs +35 -0
- data/sig/kaal/config/scheduler_config_error.rbs +4 -0
- data/sig/kaal/config/scheduler_time_zone_resolver.rbs +19 -0
- data/sig/kaal/config.rbs +11 -0
- data/sig/kaal/core/coordinator.rbs +103 -0
- data/sig/kaal/core/enabled_entry_enumerator.rbs +21 -0
- data/sig/kaal/core/occurrence_finder.rbs +9 -0
- data/sig/kaal/core.rbs +9 -0
- data/sig/kaal/definition/database_engine.rbs +25 -0
- data/sig/kaal/definition/memory_engine.rbs +23 -0
- data/sig/kaal/definition/persistence_helpers.rbs +9 -0
- data/sig/kaal/definition/redis_engine.rbs +33 -0
- data/sig/kaal/definition/registry.rbs +29 -0
- data/sig/kaal/definitions/registration_service.rbs +27 -0
- data/sig/kaal/definitions/registry_accessor.rbs +17 -0
- data/sig/kaal/delayed_job/database_engine.rbs +37 -0
- data/sig/kaal/delayed_job/dispatch_failure_logger.rbs +7 -0
- data/sig/kaal/delayed_job/memory_engine.rbs +29 -0
- data/sig/kaal/delayed_job/mysql_version_support.rbs +15 -0
- data/sig/kaal/delayed_job/redis_engine.rbs +31 -0
- data/sig/kaal/delayed_job/registry.rbs +20 -0
- data/sig/kaal/dispatch/database_engine.rbs +39 -0
- data/sig/kaal/dispatch/memory_engine.rbs +23 -0
- data/sig/kaal/dispatch/redis_engine.rbs +25 -0
- data/sig/kaal/dispatch/registry.rbs +11 -0
- data/sig/kaal/internal/active_record/base_record.rbs +8 -0
- data/sig/kaal/internal/active_record/connection_support.rbs +25 -0
- data/sig/kaal/internal/active_record/database_backend.rbs +37 -0
- data/sig/kaal/internal/active_record/definition_record.rbs +8 -0
- data/sig/kaal/internal/active_record/definition_registry.rbs +27 -0
- data/sig/kaal/internal/active_record/delayed_job_record.rbs +8 -0
- data/sig/kaal/internal/active_record/delayed_job_registry.rbs +39 -0
- data/sig/kaal/internal/active_record/dispatch_record.rbs +8 -0
- data/sig/kaal/internal/active_record/dispatch_registry.rbs +43 -0
- data/sig/kaal/internal/active_record/lock_record.rbs +8 -0
- data/sig/kaal/internal/active_record/migration_templates.rbs +17 -0
- data/sig/kaal/internal/active_record/mysql_backend.rbs +45 -0
- data/sig/kaal/internal/active_record/postgres_backend.rbs +41 -0
- data/sig/kaal/internal/active_record.rbs +0 -0
- data/sig/kaal/internal/sequel/database_backend.rbs +39 -0
- data/sig/kaal/internal/sequel/mysql_backend.rbs +47 -0
- data/sig/kaal/internal/sequel/postgres_backend.rbs +43 -0
- data/sig/kaal/internal/sequel.rbs +0 -0
- data/sig/kaal/job_dispatcher.rbs +19 -0
- data/sig/kaal/persistence/database.rbs +19 -0
- data/sig/kaal/persistence/migration_templates.rbs +15 -0
- data/sig/kaal/register_conflict_support.rbs +11 -0
- data/sig/kaal/registry.rbs +44 -0
- data/sig/kaal/runtime/runtime_context.rbs +23 -0
- data/sig/kaal/runtime/scheduler_boot_loader.rbs +23 -0
- data/sig/kaal/runtime/signal_handler_chain.rbs +19 -0
- data/sig/kaal/runtime/signal_handler_installer.rbs +19 -0
- data/sig/kaal/runtime.rbs +11 -0
- data/sig/kaal/scheduler_file/hash_transform.rbs +9 -0
- data/sig/kaal/scheduler_file/helper_bundle.rbs +15 -0
- data/sig/kaal/scheduler_file/job_applier.rbs +43 -0
- data/sig/kaal/scheduler_file/job_normalizer.rbs +27 -0
- data/sig/kaal/scheduler_file/loader.rbs +69 -0
- data/sig/kaal/scheduler_file/payload_loader.rbs +33 -0
- data/sig/kaal/scheduler_file/placeholder_support.rbs +19 -0
- data/sig/kaal/scheduler_file.rbs +9 -0
- data/sig/kaal/sequel_support.rbs +25 -0
- data/sig/kaal/support/hash_tools.rbs +27 -0
- data/sig/kaal/utils/cron_humanizer.rbs +39 -0
- data/sig/kaal/utils/cron_utils.rbs +43 -0
- data/sig/kaal/utils/idempotency_key_generator.rbs +5 -0
- data/sig/kaal/utils.rbs +9 -0
- data/sig/kaal/version.rbs +3 -0
- data/sig/kaal.rbs +145 -0
- metadata +90 -3
- data/config/kaal.rb +0 -15
- /data/config/{scheduler.yml → kaal-scheduler.yml} +0 -0
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerBootLoader
|
|
3
|
+
@configuration_provider: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
@logger: Kaal::rbs_any
|
|
6
|
+
|
|
7
|
+
@runtime_context: Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
@load_scheduler_file: Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
def initialize: (configuration_provider: Kaal::rbs_any, logger: Kaal::rbs_any, runtime_context: Kaal::rbs_any, load_scheduler_file: Kaal::rbs_any) -> void
|
|
12
|
+
|
|
13
|
+
def load_on_boot: () -> Kaal::rbs_any
|
|
14
|
+
|
|
15
|
+
def load_on_boot!: () -> (nil | Kaal::rbs_any)
|
|
16
|
+
|
|
17
|
+
private
|
|
18
|
+
|
|
19
|
+
def load_scheduler_file: () -> Kaal::rbs_any
|
|
20
|
+
|
|
21
|
+
def fetch_configuration: () -> Kaal::rbs_any
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SignalHandlerChain
|
|
3
|
+
@signal: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
@previous_handler: Kaal::rbs_any
|
|
6
|
+
|
|
7
|
+
@logger: Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
RESERVED_COMMAND_HANDLERS: ::Array["DEFAULT" | "IGNORE"]
|
|
10
|
+
|
|
11
|
+
def initialize: (signal: Kaal::rbs_any, previous_handler: Kaal::rbs_any, logger: Kaal::rbs_any) -> void
|
|
12
|
+
|
|
13
|
+
def call: (*Kaal::rbs_any, **Kaal::rbs_any) ?{ (Kaal::rbs_any) -> Kaal::rbs_any } -> (nil | Kaal::rbs_any)
|
|
14
|
+
|
|
15
|
+
private
|
|
16
|
+
|
|
17
|
+
def invoke_callable: (*Kaal::rbs_any args) -> Kaal::rbs_any
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SignalHandlerInstaller
|
|
3
|
+
@signal_module: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
SIGNALS: ::Array["TERM" | "INT"]
|
|
6
|
+
|
|
7
|
+
IGNORE_HANDLER: "IGNORE"
|
|
8
|
+
|
|
9
|
+
def initialize: (?signal_module: Kaal::rbs_any) -> void
|
|
10
|
+
|
|
11
|
+
def install: (?signals: Kaal::rbs_any) { (Kaal::rbs_any, Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
private
|
|
14
|
+
|
|
15
|
+
def capture_previous_handler: (Kaal::rbs_any signal) -> Kaal::rbs_any
|
|
16
|
+
|
|
17
|
+
def restore_previous_handler: (Kaal::rbs_any signal, Kaal::rbs_any previous_handler) -> (nil | Kaal::rbs_any)
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerFileLoader
|
|
3
|
+
class HelperBundle
|
|
4
|
+
@loader: Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
def initialize: (loader: Kaal::rbs_any) -> void
|
|
7
|
+
|
|
8
|
+
def stringify_keys: (Kaal::rbs_any payload) -> Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
def resolve_placeholders: (Kaal::rbs_any value, Kaal::rbs_any context) -> Kaal::rbs_any
|
|
11
|
+
|
|
12
|
+
def validate_placeholders: (Kaal::rbs_any value, key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
13
|
+
end
|
|
14
|
+
end
|
|
15
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerFileLoader
|
|
3
|
+
class JobApplier
|
|
4
|
+
@configuration: Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
@definition_registry: Kaal::rbs_any
|
|
7
|
+
|
|
8
|
+
@registry: Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
@logger: Kaal::rbs_any
|
|
11
|
+
|
|
12
|
+
@helper_bundle: Kaal::rbs_any
|
|
13
|
+
|
|
14
|
+
include Kaal::Support::HashTools
|
|
15
|
+
|
|
16
|
+
def initialize: (configuration: Kaal::rbs_any, definition_registry: Kaal::rbs_any, registry: Kaal::rbs_any, logger: Kaal::rbs_any, helper_bundle: Kaal::rbs_any) -> void
|
|
17
|
+
|
|
18
|
+
def apply: (Kaal::rbs_any job) -> (nil | { key: Kaal::rbs_any, existing_definition: Kaal::rbs_any, existing_registry_entry: Kaal::rbs_any })
|
|
19
|
+
|
|
20
|
+
def rollback_jobs: (Kaal::rbs_any applied_job_contexts) -> Kaal::rbs_any
|
|
21
|
+
|
|
22
|
+
def callback_for: (key: Kaal::rbs_any, job_class_name: Kaal::rbs_any, queue: Kaal::rbs_any, args_template: Kaal::rbs_any, kwargs_template: Kaal::rbs_any) -> Kaal::rbs_any
|
|
23
|
+
|
|
24
|
+
def resolved_job_class: (job_class_name: Kaal::rbs_any, key: Kaal::rbs_any, ?queue: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
25
|
+
|
|
26
|
+
def conflict?: (key: Kaal::rbs_any, existing_definition: Kaal::rbs_any) -> (false | Kaal::rbs_any)
|
|
27
|
+
|
|
28
|
+
def rollback_job: (key: Kaal::rbs_any, existing_definition: Kaal::rbs_any, existing_registry_entry: Kaal::rbs_any) -> Kaal::rbs_any
|
|
29
|
+
|
|
30
|
+
private
|
|
31
|
+
|
|
32
|
+
def persisted_metadata: (Kaal::rbs_any job, Kaal::rbs_any job_class) -> Kaal::rbs_any
|
|
33
|
+
|
|
34
|
+
def build_callback: (Kaal::rbs_any job, Kaal::rbs_any job_class) -> Kaal::rbs_any
|
|
35
|
+
|
|
36
|
+
def validate_keyword_keys: (Kaal::rbs_any raw_kwargs, Kaal::rbs_any key) -> nil
|
|
37
|
+
|
|
38
|
+
def dispatch_job: (Kaal::rbs_any job_class, Kaal::rbs_any queue, Kaal::rbs_any args, Kaal::rbs_any kwargs, Kaal::rbs_any key) -> Kaal::rbs_any
|
|
39
|
+
|
|
40
|
+
def active_job_dispatch?: (Kaal::rbs_any job_class, Kaal::rbs_any queue) -> Kaal::rbs_any
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerFileLoader
|
|
3
|
+
class JobNormalizer
|
|
4
|
+
@hash_transform: Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
@placeholder_support: Kaal::rbs_any
|
|
7
|
+
|
|
8
|
+
@cron_validator: Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
include Kaal::Support::HashTools
|
|
11
|
+
|
|
12
|
+
def initialize: (hash_transform: Kaal::rbs_any, placeholder_support: Kaal::rbs_any, cron_validator: Kaal::rbs_any) -> void
|
|
13
|
+
|
|
14
|
+
def call: (Kaal::rbs_any job_payload) -> ::Hash[:key | :cron | :job_class_name | Kaal::rbs_any, Kaal::rbs_any]
|
|
15
|
+
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def required_string: (Kaal::rbs_any payload, field: Kaal::rbs_any, error_prefix: Kaal::rbs_any) -> Kaal::rbs_any
|
|
19
|
+
|
|
20
|
+
def validate_cron: (key: Kaal::rbs_any, cron: Kaal::rbs_any) -> (nil | Kaal::rbs_any)
|
|
21
|
+
|
|
22
|
+
def extract_job_options: (Kaal::rbs_any payload, key: Kaal::rbs_any) -> { queue: Kaal::rbs_any, args: Kaal::rbs_any, kwargs: Kaal::rbs_any, enabled: Kaal::rbs_any, metadata: Kaal::rbs_any }
|
|
23
|
+
|
|
24
|
+
def validate_job_option_types: (key: Kaal::rbs_any, args: Kaal::rbs_any, kwargs: Kaal::rbs_any, queue: Kaal::rbs_any) -> (nil | Kaal::rbs_any)
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerFileLoader
|
|
3
|
+
@configuration: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
@definition_registry: Kaal::rbs_any
|
|
6
|
+
|
|
7
|
+
@registry: Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
@logger: Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
@runtime_context: Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
@placeholder_resolvers: Kaal::rbs_any
|
|
14
|
+
|
|
15
|
+
@payload_loader: Kaal::rbs_any
|
|
16
|
+
|
|
17
|
+
@job_normalizer: Kaal::rbs_any
|
|
18
|
+
|
|
19
|
+
@job_applier: Kaal::rbs_any
|
|
20
|
+
|
|
21
|
+
@helper_bundle: Kaal::rbs_any
|
|
22
|
+
|
|
23
|
+
include SchedulerHashTransform
|
|
24
|
+
|
|
25
|
+
include SchedulerPlaceholderSupport
|
|
26
|
+
|
|
27
|
+
include Kaal::Support::HashTools
|
|
28
|
+
|
|
29
|
+
PLACEHOLDER_PATTERN: ::Regexp
|
|
30
|
+
|
|
31
|
+
ALLOWED_PLACEHOLDERS: ::Hash[::String, Kaal::rbs_any]
|
|
32
|
+
|
|
33
|
+
def initialize: (configuration: Kaal::rbs_any, definition_registry: Kaal::rbs_any, registry: Kaal::rbs_any, logger: Kaal::rbs_any, ?runtime_context: Kaal::rbs_any) -> void
|
|
34
|
+
|
|
35
|
+
def load: () -> Kaal::rbs_any
|
|
36
|
+
|
|
37
|
+
private
|
|
38
|
+
|
|
39
|
+
def handle_missing_file: (Kaal::rbs_any path) -> Kaal::rbs_any
|
|
40
|
+
|
|
41
|
+
def extract_jobs: (Kaal::rbs_any payload) -> Kaal::rbs_any
|
|
42
|
+
|
|
43
|
+
def validate_unique_keys: (Kaal::rbs_any jobs) -> Kaal::rbs_any
|
|
44
|
+
|
|
45
|
+
def normalize_job: (Kaal::rbs_any job_payload) -> Kaal::rbs_any
|
|
46
|
+
|
|
47
|
+
def extract_job_options: (Kaal::rbs_any payload, key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
48
|
+
|
|
49
|
+
def apply_job: (Kaal::rbs_any job) -> Kaal::rbs_any
|
|
50
|
+
|
|
51
|
+
def rollback_applied_jobs: (?Kaal::rbs_any applied_job_contexts) -> Kaal::rbs_any
|
|
52
|
+
|
|
53
|
+
def rollback_applied_job: (key: Kaal::rbs_any, existing_definition: Kaal::rbs_any, existing_registry_entry: Kaal::rbs_any) -> Kaal::rbs_any
|
|
54
|
+
|
|
55
|
+
def skip_due_to_conflict?: (key: Kaal::rbs_any, existing_definition: Kaal::rbs_any) -> Kaal::rbs_any
|
|
56
|
+
|
|
57
|
+
def build_callback: (key: Kaal::rbs_any, job_class_name: Kaal::rbs_any, queue: Kaal::rbs_any, args_template: Kaal::rbs_any, kwargs_template: Kaal::rbs_any) -> Kaal::rbs_any
|
|
58
|
+
|
|
59
|
+
def resolve_job_class: (job_class_name: Kaal::rbs_any, key: Kaal::rbs_any, ?queue: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
60
|
+
|
|
61
|
+
def payload_loader: () -> Kaal::rbs_any
|
|
62
|
+
|
|
63
|
+
def job_normalizer: () -> Kaal::rbs_any
|
|
64
|
+
|
|
65
|
+
def job_applier: () -> Kaal::rbs_any
|
|
66
|
+
|
|
67
|
+
def helper_bundle: () -> Kaal::rbs_any
|
|
68
|
+
end
|
|
69
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
class SchedulerFileLoader
|
|
3
|
+
class PayloadLoader
|
|
4
|
+
@configuration: Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
@runtime_context: Kaal::rbs_any
|
|
7
|
+
|
|
8
|
+
@logger: Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
@hash_transform: Kaal::rbs_any
|
|
11
|
+
|
|
12
|
+
def initialize: (configuration: Kaal::rbs_any, runtime_context: Kaal::rbs_any, logger: Kaal::rbs_any, hash_transform: Kaal::rbs_any) -> void
|
|
13
|
+
|
|
14
|
+
def load: () -> (::Array[Kaal::rbs_any | nil] | ::Array[Kaal::rbs_any])
|
|
15
|
+
|
|
16
|
+
def handle_missing_file: (Kaal::rbs_any path) -> ::Array[Kaal::rbs_any]
|
|
17
|
+
|
|
18
|
+
def extract_jobs: (Kaal::rbs_any payload) -> Kaal::rbs_any
|
|
19
|
+
|
|
20
|
+
def validate_unique_keys: (Kaal::rbs_any jobs) -> (nil | Kaal::rbs_any)
|
|
21
|
+
|
|
22
|
+
private
|
|
23
|
+
|
|
24
|
+
def scheduler_file_path: () -> Kaal::rbs_any
|
|
25
|
+
|
|
26
|
+
def parse_yaml: (Kaal::rbs_any path) -> Kaal::rbs_any
|
|
27
|
+
|
|
28
|
+
def render_yaml_erb: (Kaal::rbs_any path) -> Kaal::rbs_any
|
|
29
|
+
|
|
30
|
+
def fetch_hash: (Kaal::rbs_any payload, Kaal::rbs_any key) -> Kaal::rbs_any
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
module SchedulerPlaceholderSupport
|
|
3
|
+
@placeholder_token_anchors: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
private
|
|
6
|
+
|
|
7
|
+
def validate_placeholders: (Kaal::rbs_any input, key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
def resolve_placeholders: (Kaal::rbs_any template, Kaal::rbs_any context) -> Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
def replace_placeholders: (Kaal::rbs_any text, Kaal::rbs_any context) -> Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
def validate_placeholder_key: (Kaal::rbs_any hash_key, key: Kaal::rbs_any) -> (nil | Kaal::rbs_any)
|
|
14
|
+
|
|
15
|
+
def validate_placeholder_syntax: (Kaal::rbs_any input, key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
16
|
+
|
|
17
|
+
def placeholder_token_anchors: () -> Kaal::rbs_any
|
|
18
|
+
end
|
|
19
|
+
end
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
module Sequel
|
|
3
|
+
def self.install_postgres_migration: (target_dir: Kaal::rbs_any, ?migration_name: ::String) -> Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
def self.install_mysql_migration: (target_dir: Kaal::rbs_any, ?migration_name: ::String) -> Kaal::rbs_any
|
|
6
|
+
|
|
7
|
+
def self.install_sqlite_migration: (target_dir: Kaal::rbs_any, ?migration_name: ::String) -> Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
def self.install_migrations: (target_dir: Kaal::rbs_any, backend: Kaal::rbs_any, ?migration_name: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
def self.require_sequel!: () -> Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
def self.normalize_migration_name: (Kaal::rbs_any name, fallback: Kaal::rbs_any) -> Kaal::rbs_any
|
|
14
|
+
|
|
15
|
+
def self.default_migration_name_for: (Kaal::rbs_any backend) -> ::String
|
|
16
|
+
|
|
17
|
+
def self.migration_suffixes_for: (Kaal::rbs_any backend) -> (::Array["dispatches" | "locks" | "definitions" | "delayed_jobs"] | ::Array["dispatches" | "definitions" | "delayed_jobs"])
|
|
18
|
+
|
|
19
|
+
def self.timestamp: (?::Integer offset) -> Kaal::rbs_any
|
|
20
|
+
|
|
21
|
+
def self.letter?: (Kaal::rbs_any char) -> Kaal::rbs_any
|
|
22
|
+
|
|
23
|
+
def self.digit?: (Kaal::rbs_any char) -> Kaal::rbs_any
|
|
24
|
+
end
|
|
25
|
+
end
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
module Support
|
|
3
|
+
module HashTools
|
|
4
|
+
def self.deep_dup: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
def self.stringify_keys: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
7
|
+
|
|
8
|
+
def self.symbolize_keys: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
def self.deep_merge: (Kaal::rbs_any left, Kaal::rbs_any right) -> Kaal::rbs_any
|
|
11
|
+
|
|
12
|
+
def self.constantize: (Kaal::rbs_any name) -> Kaal::rbs_any
|
|
13
|
+
|
|
14
|
+
def self.duplicable?: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
15
|
+
|
|
16
|
+
def self.transform_keys: (Kaal::rbs_any value) { (Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
17
|
+
|
|
18
|
+
def self.duplicate_child: (Kaal::rbs_any child) -> Kaal::rbs_any
|
|
19
|
+
|
|
20
|
+
def self.transform_child_keys: (Kaal::rbs_any child) { (Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
21
|
+
|
|
22
|
+
def self.transform_hash_keys: (Kaal::rbs_any value) { (Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
23
|
+
|
|
24
|
+
def self.transform_array_keys: (Kaal::rbs_any value) { (Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
module CronHumanizer
|
|
3
|
+
I18N_LOAD_MUTEX: Kaal::rbs_any
|
|
4
|
+
|
|
5
|
+
MACRO_PHRASES: ::Hash[::String, ::String]
|
|
6
|
+
|
|
7
|
+
def self.to_human: (Kaal::rbs_any expression, ?locale: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
8
|
+
|
|
9
|
+
def self.humanize_expression: (Kaal::rbs_any normalized) -> Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
def self.humanize_macro: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
def self.humanize_cron: (Kaal::rbs_any cron) -> Kaal::rbs_any
|
|
14
|
+
|
|
15
|
+
def self.every_minute_interval_phrase: (Kaal::rbs_any cron) -> (nil | Kaal::rbs_any)
|
|
16
|
+
|
|
17
|
+
def self.derive_interval: (Kaal::rbs_any minutes) -> (nil | Kaal::rbs_any)
|
|
18
|
+
|
|
19
|
+
def self.at_time_weekday_phrase: (Kaal::rbs_any cron) -> (nil | ::String)
|
|
20
|
+
|
|
21
|
+
def self.at_time_daily_phrase: (Kaal::rbs_any cron) -> (nil | ::String)
|
|
22
|
+
|
|
23
|
+
def self.single_time?: (Kaal::rbs_any cron) -> Kaal::rbs_any
|
|
24
|
+
|
|
25
|
+
def self.extract_weekday: (Kaal::rbs_any weekdays) -> (nil | Kaal::rbs_any)
|
|
26
|
+
|
|
27
|
+
def self.weekday_name: (Kaal::rbs_any day) -> Kaal::rbs_any
|
|
28
|
+
|
|
29
|
+
def self.format_time: (Kaal::rbs_any hour, Kaal::rbs_any minute) -> Kaal::rbs_any
|
|
30
|
+
|
|
31
|
+
def self.interval_unit: (Kaal::rbs_any count, singular: Kaal::rbs_any, plural: Kaal::rbs_any) -> Kaal::rbs_any
|
|
32
|
+
|
|
33
|
+
def self.macro?: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
34
|
+
|
|
35
|
+
def self.translate_phrase: (Kaal::rbs_any key, **Kaal::rbs_any) -> Kaal::rbs_any
|
|
36
|
+
|
|
37
|
+
def self.ensure_i18n_loaded!: () -> (nil | Kaal::rbs_any)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
module CronUtils
|
|
3
|
+
MACRO_MAP: ::Hash[::String, ::String]
|
|
4
|
+
|
|
5
|
+
CANONICAL_MACROS: ::Hash[::String, ::String]
|
|
6
|
+
|
|
7
|
+
FIELD_SPECS: ::Array[Kaal::rbs_any]
|
|
8
|
+
|
|
9
|
+
def self.normalize_expression: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
10
|
+
|
|
11
|
+
def self.safe_normalize_expression: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
12
|
+
|
|
13
|
+
def self.unsupported_macro_error_message: (Kaal::rbs_any expression) -> ::String
|
|
14
|
+
|
|
15
|
+
def self.invalid_expression_error_message: (Kaal::rbs_any expression) -> ::String
|
|
16
|
+
|
|
17
|
+
def self.valid?: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
18
|
+
|
|
19
|
+
def self.simplify: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
20
|
+
|
|
21
|
+
def self.lint: (Kaal::rbs_any expression) -> (::Array[Kaal::rbs_any] | Kaal::rbs_any)
|
|
22
|
+
|
|
23
|
+
def self.lint_field: (Kaal::rbs_any field, Kaal::rbs_any spec) -> Kaal::rbs_any
|
|
24
|
+
|
|
25
|
+
def self.lint_segment: (Kaal::rbs_any segment, Kaal::rbs_any spec) -> (::Array[Kaal::rbs_any] | Kaal::rbs_any | ::Array[::String])
|
|
26
|
+
|
|
27
|
+
def self.lint_step_only: (Kaal::rbs_any step, Kaal::rbs_any spec) -> (::Array[Kaal::rbs_any] | ::Array[::String])
|
|
28
|
+
|
|
29
|
+
def self.lint_range_segment: (Kaal::rbs_any segment, Kaal::rbs_any start_value, Kaal::rbs_any end_value, Kaal::rbs_any step, Kaal::rbs_any spec) -> (::Array[::String] | ::Array[Kaal::rbs_any])
|
|
30
|
+
|
|
31
|
+
def self.lint_base_step_segment: (Kaal::rbs_any segment, Kaal::rbs_any base, Kaal::rbs_any step, Kaal::rbs_any spec) -> (::Array[::String] | ::Array[Kaal::rbs_any])
|
|
32
|
+
|
|
33
|
+
def self.parse_value: (Kaal::rbs_any token, Kaal::rbs_any spec) -> (Kaal::rbs_any | nil)
|
|
34
|
+
|
|
35
|
+
def self.macro?: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
36
|
+
|
|
37
|
+
def self.five_fields?: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
38
|
+
|
|
39
|
+
def self.canonical_macro_for: (Kaal::rbs_any macro) -> Kaal::rbs_any
|
|
40
|
+
|
|
41
|
+
def self.field_count_message: (Kaal::rbs_any expression) -> ::String
|
|
42
|
+
end
|
|
43
|
+
end
|
data/sig/kaal/utils.rbs
ADDED
data/sig/kaal.rbs
ADDED
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
module Kaal
|
|
2
|
+
self.@configuration: Kaal::rbs_any
|
|
3
|
+
|
|
4
|
+
self.@registry: Kaal::rbs_any
|
|
5
|
+
|
|
6
|
+
self.@coordinator: Kaal::rbs_any
|
|
7
|
+
|
|
8
|
+
self.@definition_registry: Kaal::rbs_any
|
|
9
|
+
|
|
10
|
+
self.@definitions_registry_accessor: Kaal::rbs_any
|
|
11
|
+
|
|
12
|
+
self.@dispatch_registry_accessor: Kaal::rbs_any
|
|
13
|
+
|
|
14
|
+
self.@risky_configuration_warnings_emitted: Kaal::rbs_any
|
|
15
|
+
|
|
16
|
+
self.@registration_service: Kaal::rbs_any
|
|
17
|
+
|
|
18
|
+
extend RegisterConflictSupport
|
|
19
|
+
|
|
20
|
+
def self.configuration: () -> Kaal::rbs_any
|
|
21
|
+
|
|
22
|
+
def self.registry: () -> Kaal::rbs_any
|
|
23
|
+
|
|
24
|
+
def self.coordinator: () -> Kaal::rbs_any
|
|
25
|
+
|
|
26
|
+
def self.reset_configuration!: () -> Kaal::rbs_any
|
|
27
|
+
|
|
28
|
+
def self.reset_registry!: () -> Kaal::rbs_any
|
|
29
|
+
|
|
30
|
+
def self.reset_coordinator!: () -> Kaal::rbs_any
|
|
31
|
+
|
|
32
|
+
def self.configure: () ?{ (Kaal::rbs_any) -> Kaal::rbs_any } -> (Kaal::rbs_any | nil)
|
|
33
|
+
|
|
34
|
+
def self.load_config_file!: (?path: ::String, ?runtime_context: Kaal::rbs_any) -> Kaal::rbs_any
|
|
35
|
+
|
|
36
|
+
def self.register: (key: Kaal::rbs_any, cron: Kaal::rbs_any, enqueue: Kaal::rbs_any) -> Kaal::rbs_any
|
|
37
|
+
|
|
38
|
+
def self.load_scheduler_file!: (?runtime_context: Kaal::rbs_any) -> Kaal::rbs_any
|
|
39
|
+
|
|
40
|
+
def self.unregister: (key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
41
|
+
|
|
42
|
+
def self.registered: () -> Kaal::rbs_any
|
|
43
|
+
|
|
44
|
+
def self.registered?: (key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
45
|
+
|
|
46
|
+
def self.enable: (key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
47
|
+
|
|
48
|
+
def self.disable: (key: Kaal::rbs_any) -> Kaal::rbs_any
|
|
49
|
+
|
|
50
|
+
def self.start!: () -> Kaal::rbs_any
|
|
51
|
+
|
|
52
|
+
def self.stop!: (?timeout: ::Integer) -> Kaal::rbs_any
|
|
53
|
+
|
|
54
|
+
def self.running?: () -> Kaal::rbs_any
|
|
55
|
+
|
|
56
|
+
def self.restart!: () -> Kaal::rbs_any
|
|
57
|
+
|
|
58
|
+
def self.tick!: () -> Kaal::rbs_any
|
|
59
|
+
|
|
60
|
+
def self.enqueue_at: (at: Kaal::rbs_any, job_class: Kaal::rbs_any, args: Kaal::rbs_any, job_id: Kaal::rbs_any, ?queue: Kaal::rbs_any?, ?connection: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
61
|
+
|
|
62
|
+
def self.with_idempotency: (Kaal::rbs_any key, Kaal::rbs_any fire_time) ?{ (Kaal::rbs_any) -> Kaal::rbs_any } -> Kaal::rbs_any
|
|
63
|
+
|
|
64
|
+
def self.dispatched?: (Kaal::rbs_any key, Kaal::rbs_any fire_time) -> Kaal::rbs_any
|
|
65
|
+
|
|
66
|
+
def self.dispatch_log_registry: () -> Kaal::rbs_any
|
|
67
|
+
|
|
68
|
+
def self.tick_interval: () -> Kaal::rbs_any
|
|
69
|
+
|
|
70
|
+
def self.window_lookback: () -> Kaal::rbs_any
|
|
71
|
+
|
|
72
|
+
def self.window_lookahead: () -> Kaal::rbs_any
|
|
73
|
+
|
|
74
|
+
def self.lease_ttl: () -> Kaal::rbs_any
|
|
75
|
+
|
|
76
|
+
def self.namespace: () -> Kaal::rbs_any
|
|
77
|
+
|
|
78
|
+
def self.backend: () -> Kaal::rbs_any
|
|
79
|
+
|
|
80
|
+
def self.logger: () -> Kaal::rbs_any
|
|
81
|
+
|
|
82
|
+
def self.time_zone: () -> Kaal::rbs_any
|
|
83
|
+
|
|
84
|
+
def self.tick_interval=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
85
|
+
|
|
86
|
+
def self.window_lookback=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
87
|
+
|
|
88
|
+
def self.window_lookahead=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
89
|
+
|
|
90
|
+
def self.lease_ttl=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
91
|
+
|
|
92
|
+
def self.namespace=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
93
|
+
|
|
94
|
+
def self.backend=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
95
|
+
|
|
96
|
+
def self.logger=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
97
|
+
|
|
98
|
+
def self.time_zone=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
99
|
+
|
|
100
|
+
def self.delayed_job_allowed_class_prefixes: () -> Kaal::rbs_any
|
|
101
|
+
|
|
102
|
+
def self.delayed_job_allowed_class_prefixes=: (Kaal::rbs_any value) -> Kaal::rbs_any
|
|
103
|
+
|
|
104
|
+
def self.definition_registry: () -> Kaal::rbs_any
|
|
105
|
+
|
|
106
|
+
def self.validate: () -> Kaal::rbs_any
|
|
107
|
+
|
|
108
|
+
def self.validate!: () -> Kaal::rbs_any
|
|
109
|
+
|
|
110
|
+
def self.validation_warnings: () -> Kaal::rbs_any
|
|
111
|
+
|
|
112
|
+
def self.warn_on_risky_configuration!: (?configuration: Kaal::rbs_any, ?logger: Kaal::rbs_any) -> (::Array[Kaal::rbs_any] | Kaal::rbs_any)
|
|
113
|
+
|
|
114
|
+
def self.valid?: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
115
|
+
|
|
116
|
+
def self.simplify: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
117
|
+
|
|
118
|
+
def self.lint: (Kaal::rbs_any expression) -> Kaal::rbs_any
|
|
119
|
+
|
|
120
|
+
def self.to_human: (Kaal::rbs_any expression, ?locale: Kaal::rbs_any?) -> Kaal::rbs_any
|
|
121
|
+
|
|
122
|
+
private
|
|
123
|
+
|
|
124
|
+
def self.rollback_registered_definition: (Kaal::rbs_any key, Kaal::rbs_any existing_definition) -> (Kaal::rbs_any | Kaal::rbs_any | nil)
|
|
125
|
+
|
|
126
|
+
def self.registration_service: () -> Kaal::rbs_any
|
|
127
|
+
|
|
128
|
+
def self.definitions_registry_accessor: () -> Kaal::rbs_any
|
|
129
|
+
|
|
130
|
+
def self.dispatch_registry_accessor: () -> Kaal::rbs_any
|
|
131
|
+
|
|
132
|
+
def self.delayed_store!: () -> Kaal::rbs_any
|
|
133
|
+
|
|
134
|
+
def self.normalize_delayed_run_at: (Kaal::rbs_any at) -> Kaal::rbs_any
|
|
135
|
+
|
|
136
|
+
def self.normalize_delayed_args: (Kaal::rbs_any args) -> Kaal::rbs_any
|
|
137
|
+
|
|
138
|
+
def self.normalize_delayed_queue: (Kaal::rbs_any queue) -> (nil | Kaal::rbs_any)
|
|
139
|
+
|
|
140
|
+
def self.normalize_delayed_job_id: (Kaal::rbs_any job_id) -> Kaal::rbs_any
|
|
141
|
+
|
|
142
|
+
def self.invalid_delayed_time_error: () -> Kaal::rbs_any
|
|
143
|
+
|
|
144
|
+
def self.ensure_delayed_time!: (Kaal::rbs_any time) -> (Kaal::rbs_any | nil)
|
|
145
|
+
end
|