job-workflow 0.6.0 → 0.6.2

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.
Files changed (59) hide show
  1. checksums.yaml +4 -4
  2. data/.agents/instructions/coding-style.md +38 -0
  3. data/.agents/instructions/domain.md +37 -0
  4. data/.agents/instructions/environment.md +44 -0
  5. data/.agents/instructions/general.md +29 -0
  6. data/.agents/instructions/security.md +20 -0
  7. data/.agents/instructions/structure.md +43 -0
  8. data/.agents/instructions/tech-stack.md +40 -0
  9. data/.agents/instructions/testing.md +46 -0
  10. data/.agents/instructions/workflow.md +39 -0
  11. data/.rubocop.yml +10 -0
  12. data/AGENTS.md +23 -0
  13. data/CHANGELOG.md +14 -0
  14. data/README.md +1 -1
  15. data/Rakefile +1 -1
  16. data/Steepfile +4 -0
  17. data/app/controllers/job_workflow/monitoring/application_controller.rb +1 -0
  18. data/app/controllers/job_workflow/monitoring/executions_controller.rb +7 -0
  19. data/app/controllers/job_workflow/monitoring/workflows_controller.rb +3 -0
  20. data/guides/PRODUCTION_DEPLOYMENT.md +1 -1
  21. data/guides/README.md +1 -1
  22. data/lib/job_workflow/auto_scaling/executor.rb +3 -1
  23. data/lib/job_workflow/context.rb +5 -8
  24. data/lib/job_workflow/dsl.rb +14 -8
  25. data/lib/job_workflow/instrumentation/opentelemetry_subscriber.rb +2 -0
  26. data/lib/job_workflow/logger.rb +1 -2
  27. data/lib/job_workflow/monitoring/dag_layout.rb +4 -0
  28. data/lib/job_workflow/monitoring/execution_view_model.rb +11 -11
  29. data/lib/job_workflow/monitoring.rb +4 -1
  30. data/lib/job_workflow/queue_adapters/null_adapter.rb +6 -1
  31. data/lib/job_workflow/sub_task_job.rb +3 -2
  32. data/lib/job_workflow/task_graph.rb +2 -0
  33. data/lib/job_workflow/task_output.rb +3 -1
  34. data/lib/job_workflow/version.rb +1 -1
  35. data/lib/job_workflow/workflow.rb +8 -1
  36. data/lib/job_workflow/workflow_status.rb +21 -3
  37. data/rbs_collection.lock.yaml +67 -15
  38. data/rbs_collection.yaml +4 -0
  39. data/sig/generated/controllers/job_workflow/monitoring/application_controller.rbs +11 -0
  40. data/sig/generated/controllers/job_workflow/monitoring/executions_controller.rbs +21 -0
  41. data/sig/generated/controllers/job_workflow/monitoring/workflows_controller.rbs +12 -0
  42. data/sig/generated/job_workflow/auto_scaling/executor.rbs +2 -0
  43. data/sig/generated/job_workflow/dsl.rbs +4 -0
  44. data/sig/generated/job_workflow/instrumentation/opentelemetry_subscriber.rbs +2 -1
  45. data/sig/generated/job_workflow/logger.rbs +1 -2
  46. data/sig/generated/job_workflow/monitoring/dag_layout.rbs +6 -0
  47. data/sig/generated/job_workflow/monitoring/execution_view_model.rbs +8 -2
  48. data/sig/generated/job_workflow/monitoring.rbs +4 -2
  49. data/sig/generated/job_workflow/queue_adapters/null_adapter.rbs +8 -1
  50. data/sig/generated/job_workflow/sub_task_job.rbs +2 -2
  51. data/sig/generated/job_workflow/task_graph.rbs +2 -0
  52. data/sig/generated/job_workflow/workflow.rbs +8 -0
  53. data/sig/generated/job_workflow/workflow_status.rbs +12 -2
  54. data/sig-private/activejob.rbs +7 -0
  55. data/sig-private/job-workflow.rbs +2 -1
  56. data/sig-private/mission_control.rbs +10 -0
  57. data/sig-private/rails.rbs +7 -0
  58. data/sig-private/solid_queue.rbs +1 -1
  59. metadata +15 -1
@@ -13,6 +13,8 @@ module JobWorkflow
13
13
 
14
14
  attr_reader status: status_type
15
15
 
16
+ attr_reader completed_task_names: Array[Symbol]
17
+
16
18
  # : (String) -> WorkflowStatus
17
19
  def self.find: (String) -> WorkflowStatus
18
20
 
@@ -22,14 +24,22 @@ module JobWorkflow
22
24
  # : (Hash[String, untyped]) -> WorkflowStatus
23
25
  def self.from_job_data: (Hash[String, untyped]) -> WorkflowStatus
24
26
 
27
+ # : (Hash[String, untyped]) -> Array[Symbol]
28
+ private def self.completed_task_names_from_job_data: (Hash[String, untyped]) -> Array[Symbol]
29
+
25
30
  # : (Hash[String, untyped], Workflow) -> Context
26
31
  private def self.context_from_job_data: (Hash[String, untyped], Workflow) -> Context
27
32
 
28
33
  # : (Hash[String, untyped]) -> Hash[String, untyped]?
29
34
  private def self.workflow_arguments_data: (Hash[String, untyped]) -> Hash[String, untyped]?
30
35
 
31
- # : (context: Context, job_class_name: String, status: status_type) -> void
32
- def initialize: (context: Context, job_class_name: String, status: status_type) -> void
36
+ # : (
37
+ # context: Context,
38
+ # job_class_name: String,
39
+ # status: status_type,
40
+ # ?completed_task_names: Array[Symbol]
41
+ # ) -> void
42
+ def initialize: (context: Context, job_class_name: String, status: status_type, ?completed_task_names: Array[Symbol]) -> void
33
43
 
34
44
  # : () -> Symbol?
35
45
  def current_task_name: () -> Symbol?
@@ -1,5 +1,10 @@
1
1
  module ActiveJob
2
2
  def self.perform_all_later: (*ActiveJob::Base) -> void
3
+ | (Array[ActiveJob::Base]) -> void
4
+
5
+ class Base
6
+ def set: (Hash[Symbol, untyped]) -> self
7
+ end
3
8
 
4
9
  module Continuable
5
10
  def step: (Symbol, ?start: ActiveJob::Continuation::_Succ, ?isolated: bool) -> void
@@ -15,6 +20,8 @@ module ActiveJob
15
20
  end
16
21
 
17
22
  class Step
23
+ def cursor: () -> untyped
24
+
18
25
  def advance!: (?from: _Succ?) -> void
19
26
 
20
27
  def advanced?: () -> bool
@@ -1,10 +1,11 @@
1
1
  module JobWorkflow
2
2
  interface _JobInterface
3
+ def class: () -> untyped
3
4
  def job_id: () -> String
4
5
  def queue_name: () -> String
5
6
  def serialize: () -> Hash[String, untyped]
6
7
  def _context: () -> JobWorkflow::Context?
7
- def _context=: (JobWorkflow::Context) -> JobWorkflow::Context
8
+ def _context=: (JobWorkflow::Context) -> void
8
9
  def step: (Symbol, ?start: ActiveJob::Continuation::_Succ, ?isolated: bool) -> void
9
10
  | (Symbol, ?start: ActiveJob::Continuation::_Succ, ?isolated: bool) { (ActiveJob::Continuation::Step) -> void } -> void
10
11
  end
@@ -0,0 +1,10 @@
1
+ module MissionControl
2
+ module Jobs
3
+ def self.base_controller_class: () -> untyped
4
+ def self.applications: () -> Array[untyped]
5
+
6
+ class Engine
7
+ def self.routes: () -> untyped
8
+ end
9
+ end
10
+ end
@@ -1,5 +1,12 @@
1
1
  module Rails
2
+ def self.application: () -> untyped
3
+
2
4
  class Engine
3
5
  def self.isolate_namespace: (Module) -> void
6
+ def self.config: () -> untyped
7
+ end
8
+
9
+ class Railtie
10
+ def self.config: () -> untyped
4
11
  end
5
12
  end
@@ -102,7 +102,7 @@ module SolidQueue
102
102
  end
103
103
 
104
104
  class Worker
105
- def self.on_worker_stop: (Proc) -> void
105
+ def self.on_stop: () { (Worker) -> void } -> void
106
106
  def self.lifecycle_hooks: () -> Hash[Symbol, Array[Proc]]
107
107
  end
108
108
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: job-workflow
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.0
4
+ version: 0.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - shoma07
@@ -31,8 +31,18 @@ executables: []
31
31
  extensions: []
32
32
  extra_rdoc_files: []
33
33
  files:
34
+ - ".agents/instructions/coding-style.md"
35
+ - ".agents/instructions/domain.md"
36
+ - ".agents/instructions/environment.md"
37
+ - ".agents/instructions/general.md"
38
+ - ".agents/instructions/security.md"
39
+ - ".agents/instructions/structure.md"
40
+ - ".agents/instructions/tech-stack.md"
41
+ - ".agents/instructions/testing.md"
42
+ - ".agents/instructions/workflow.md"
34
43
  - ".rspec"
35
44
  - ".rubocop.yml"
45
+ - AGENTS.md
36
46
  - CHANGELOG.md
37
47
  - LICENSE.txt
38
48
  - README.md
@@ -132,9 +142,13 @@ files:
132
142
  - sig-private/activesupport.rbs
133
143
  - sig-private/aws.rbs
134
144
  - sig-private/job-workflow.rbs
145
+ - sig-private/mission_control.rbs
135
146
  - sig-private/opentelemetry.rbs
136
147
  - sig-private/rails.rbs
137
148
  - sig-private/solid_queue.rbs
149
+ - sig/generated/controllers/job_workflow/monitoring/application_controller.rbs
150
+ - sig/generated/controllers/job_workflow/monitoring/executions_controller.rbs
151
+ - sig/generated/controllers/job_workflow/monitoring/workflows_controller.rbs
138
152
  - sig/generated/job-workflow.rbs
139
153
  - sig/generated/job_workflow.rbs
140
154
  - sig/generated/job_workflow/argument_def.rbs