Changes sync

This commit is contained in:
Mikhail Podgurskiy
2024-06-16 16:59:36 +05:00
parent 9b5a5e182b
commit d92acf3478
4 changed files with 17 additions and 7 deletions

View File

@@ -14,7 +14,7 @@ from . import mixins
class AbstractJobActivation(mixins.NextNodeActivationMixin, Activation):
@classmethod
def create(cls, flow_task, prev_activation, token):
def create(cls, flow_task, prev_activation, token, data=None):
"""Instantiate and persist new flow task."""
flow_class = flow_task.flow_class
task = flow_class.task_class(
@@ -22,6 +22,7 @@ class AbstractJobActivation(mixins.NextNodeActivationMixin, Activation):
flow_task=flow_task,
token=token,
external_task_id=str(uuid.uuid4()),
data=data if data is not None else {},
)
task.save()
task.previous.add(prev_activation.task)

View File

@@ -15,7 +15,7 @@ class JoinActivation(mixins.NextNodeActivationMixin, Activation):
super().__init__(*args, **kwargs)
@classmethod
def create(cls, flow_task, prev_activation, token):
def create(cls, flow_task, prev_activation, token, data=None):
"""
Join and, if all incoming paths are completed, continue execution.
@@ -43,7 +43,10 @@ class JoinActivation(mixins.NextNodeActivationMixin, Activation):
token = token.get_base_split_token()
task = flow_class.task_class.objects.create(
process=prev_activation.process, flow_task=flow_task, token=token
process=prev_activation.process,
flow_task=flow_task,
token=token,
data=data if data is not None else {},
)
task.previous.add(prev_activation.task)

View File

@@ -13,12 +13,15 @@ class StartActivation(mixins.NextNodeActivationMixin, Activation):
"""Task activation that creates new process instance."""
@classmethod
def create(cls, flow_task, prev_activation, token):
def create(cls, flow_task, prev_activation, token, data=None):
flow_class = flow_task.flow_class
process = flow_class.process_class(flow_class=flow_class)
task = flow_class.task_class(
flow_task=flow_task, process=process, started=now()
flow_task=flow_task,
process=process,
started=now(),
data=data if data is not None else {},
)
return cls(task)

View File

@@ -13,11 +13,14 @@ class ViewActivation(mixins.NextNodeActivationMixin, Activation):
"""View node activation."""
@classmethod
def create(cls, flow_task, prev_activation, token):
def create(cls, flow_task, prev_activation, token, data=None):
"""Instantiate and persist new flow task."""
flow_class = flow_task.flow_class
task = flow_class.task_class(
process=prev_activation.process, flow_task=flow_task, token=token
process=prev_activation.process,
flow_task=flow_task,
token=token,
data=data if data is not None else {},
)
activation = cls(task)