You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Apr 14, 2023. It is now read-only.
the core.controller object is becoming bloated and rigid. I propose that we break it up as follows (pseudocode):
class WorkflowExecutor:
self.executor = MultiprocessesExecutor()
self.playbook_store = PlaybookStore()
self.scheduler = scheduler()
class MultiprocessedExecutor():
def execute_workflow(Workflow)
def pause_workflow(workflow_execution_uid, workflow_name)
def resume_workflow(workflow_execution_uid, workflow_name)
def _event_callback
# maybe all execution elements could call a single blinker signal. MultiprocessedExecutor connects that signal. No need for injecting callbacks deep into workflow structure
def shutdown()
class PlaybookStore():
self.playbooks = {playbook_name: Playbook}
self.playbook_loader = JsonPlaybookLoader()
class JsonPlaybookLoader:
# These may all be static for some loaders. Keep them in a class. Essentially allow module to be used as a field in PlaybookStore
def load_workflow(resource_location, workflow_name, playbook_name)
def load_playbook(resource_location)
def load_all(resource_collection_location)
class Playbook():
self.name
self.workflows = {uid: Workflow}
def as_json()
The text was updated successfully, but these errors were encountered:
the core.controller object is becoming bloated and rigid. I propose that we break it up as follows (pseudocode):
The text was updated successfully, but these errors were encountered: