More refactoring

This commit is contained in:
GDay
2023-03-31 02:09:54 +02:00
parent a694a9f53c
commit e3517bd4c6
16 changed files with 715 additions and 750 deletions
+19 -16
View File
@@ -25,25 +25,25 @@ class QueueTask:
func: Union[Callable, str]
name: str
group: Optional[None] = None
group: Optional[str] = None
queued_at: Optional[datetime] = timezone.now()
finished_at: Optional[datetime] = None
ack_id: Optional[str] = None
started_at: Optional[datetime] = None
id: str = "-1"
timeout: Union[int, None] = Conf.TIMEOUT
result: Union[Result, None] = None
result_payload: Any = None
timeout: Optional[int] = Conf.TIMEOUT
result_status: Optional[Result] = None
result: Any = None
save: bool = Conf.SAVE_LIMIT >= 0
chain: Union[str, QueueTask] = ""
cached: bool = False
sync: bool = False
hook: Union[str, None] = None
cached: bool = Conf.CACHED
sync: bool = Conf.SYNC
hook: Optional[str] = None
args: tuple = field(default_factory=tuple)
kwargs: dict = field(default_factory=dict)
ack_failure: bool = Conf.ACK_FAILURES
iter_count: Union[int, None] = None
iter_cached: Union[int, None] = None
iter_count: Optional[int] = None
iter_cached: Optional[int] = None
def callable_func(self):
func = self.func
@@ -53,11 +53,11 @@ class QueueTask:
@property
def has_succeeded(self):
return self.result == self.Result.SUCCESS
return self.result_status == self.Result.SUCCESS
@property
def has_timed_out(self):
return self.result == self.Result.TIMEOUT
return self.result_status == self.Result.TIMEOUT
@property
def is_callable(self):
@@ -126,7 +126,7 @@ class QueueTask:
'args': self.args,
'kwargs': self.kwargs,
'started': self.started_at,
'result': self.result_payload,
'result': self.result,
'group': self.group,
'success': self.has_succeeded,
'attempt_count': 1
@@ -136,8 +136,9 @@ class QueueTask:
# only update the result if it hasn't succeeded yet
if not created and not existing_task.success:
existing_task.stopped = self.finished_at
existing_task.result = self.result_payload
existing_task.result = self.result
existing_task.success = self.has_succeeded
existing_task.attempt_count += 1
existing_task.save()
if (
@@ -146,6 +147,8 @@ class QueueTask:
):
broker.acknowledge(self.ack_id)
return existing_task
except Exception:
logger.exception("Could not save task result")
@@ -167,11 +170,11 @@ class QueueTask:
group_args = f"{broker.list_key}:{group}:args"
# collate the results into a Task result
results = [
SignedPackage.get_queue_task(broker.cache.get(k)).result_payload
SignedPackage.loads(broker.cache.get(k)).result
for k in group_list
]
results.append(self.result_payload)
self.result_payload = results
results.append(self.result)
self.result = results
self.id = group
self.args = SignedPackage.loads(broker.cache.get(group_args))
self.iter_count = None