Filter on task_params instead of queue

This commit is contained in:
tcely 2025-04-07 00:19:23 -04:00
parent 2613d93924
commit b97de08ffd
No known key found for this signature in database
GPG Key ID: B84DD241AF4C4274
2 changed files with 10 additions and 4 deletions

View File

@ -133,7 +133,7 @@ def get_source_completed_tasks(source_id, only_errors=False):
'''
Returns a queryset of CompletedTask objects for a source by source ID.
'''
q = {'queue': source_id}
q = {'task_params__istartswith': f'[["{source_id}"'}
if only_errors:
q['failed_at__isnull'] = False
return CompletedTask.objects.filter(**q).order_by('-failed_at')
@ -167,7 +167,11 @@ def get_source_index_task(source_id):
def delete_task_by_source(task_name, source_id):
now = timezone.now()
unlocked = Task.objects.unlocked(now)
return unlocked.filter(task_name=task_name, queue=str(source_id)).delete()
qs = unlocked.filter(
task_name=task_name,
task_params__istartswith=f'[["{source_id}"',
)
return qs.delete()
def delete_task_by_media(task_name, args):

View File

@ -768,7 +768,8 @@ class TasksView(ListView):
def get_queryset(self):
qs = Task.objects.all()
if self.filter_source:
qs = qs.filter(queue=str(self.filter_source.pk))
params_prefix=f'[["{self.filter_source.pk}"'
qs = qs.filter(task_params__istartswith=params_prefix)
order = getattr(settings,
'BACKGROUND_TASK_PRIORITY_ORDERING',
'DESC'
@ -896,7 +897,8 @@ class CompletedTasksView(ListView):
def get_queryset(self):
qs = CompletedTask.objects.all()
if self.filter_source:
qs = qs.filter(queue=str(self.filter_source.pk))
params_prefix=f'[["{self.filter_source.pk}"'
qs = qs.filter(task_params__istartswith=params_prefix)
return qs.order_by('-run_at')
def get_context_data(self, *args, **kwargs):