Class: Kiqchestra::WorkflowStore
- Inherits:
-
Object
- Object
- Kiqchestra::WorkflowStore
- Defined in:
- lib/kiqchestra/workflow_store.rb
Overview
The WorkflowStore class serves as an abstract base class for implementing custom storage mechanisms for workflow progress, dependencies, and arguments. It defines abstract methods that must be implemented by subclasses.
By default, Kiqchestra uses DefaultWorkflowStore. Users are free to create their own custom implementation of WorkflowStore to change storage system (file-based, database, etc.) or specific details of implementations.
Direct Known Subclasses
Instance Method Summary collapse
-
#initialize(*_args) ⇒ WorkflowStore
constructor
Ensures subclasses properly implement required methods.
-
#read_metadata ⇒ Hash
Reads the workflow data for a workflow.
-
#read_progress ⇒ Hash
Reads the progress of a workflow.
-
#write_metadata(_metadata) ⇒ Object
Writes the workflow data for a workflow to the store.
-
#write_progress(_progress) ⇒ Object
Writes the progress of a workflow to the store.
Constructor Details
#initialize(*_args) ⇒ WorkflowStore
Ensures subclasses properly implement required methods.
13 14 15 |
# File 'lib/kiqchestra/workflow_store.rb', line 13 def initialize(*_args) # No initialization logic here end |
Instance Method Details
#read_metadata ⇒ Hash
Reads the workflow data for a workflow.
22 23 24 |
# File 'lib/kiqchestra/workflow_store.rb', line 22 def raise NotImplementedError, "Subclasses must implement the read_workflow_data method" end |
#read_progress ⇒ Hash
Reads the progress of a workflow.
41 42 43 |
# File 'lib/kiqchestra/workflow_store.rb', line 41 def read_progress raise NotImplementedError, "Subclasses must implement the read_progress method" end |
#write_metadata(_metadata) ⇒ Object
Writes the workflow data for a workflow to the store.
32 33 34 |
# File 'lib/kiqchestra/workflow_store.rb', line 32 def () raise NotImplementedError, "Subclasses must implement the write_workflow_data method" end |
#write_progress(_progress) ⇒ Object
Writes the progress of a workflow to the store.
51 52 53 |
# File 'lib/kiqchestra/workflow_store.rb', line 51 def write_progress(_progress) raise NotImplementedError, "Subclasses must implement the write_progress method" end |