Remove unmapped tasks
This commit is contained in:
@@ -44,21 +44,25 @@ db_vendor = db.connection.vendor
|
||||
register_huey_signals()
|
||||
|
||||
|
||||
def get_task_map():
|
||||
TASK_MAP = {
|
||||
'index_source': Source,
|
||||
'download_media_image': Media,
|
||||
'download_media_file': Media,
|
||||
'download_media_metadata': Media,
|
||||
'save_all_media_for_source': Source,
|
||||
'rename_all_media_for_source': Source,
|
||||
'refresh_formats': Media,
|
||||
}
|
||||
return { f"sync.tasks.{k}": v for k,v in TASK_MAP.items() }
|
||||
|
||||
def map_task_to_instance(task):
|
||||
'''
|
||||
Reverse-maps a scheduled backgrond task to an instance. Requires the task name
|
||||
to be a known task function and the first argument to be a UUID. This is used
|
||||
because UUID's are incompatible with background_task's "creator" feature.
|
||||
'''
|
||||
TASK_MAP = {
|
||||
'sync.tasks.index_source': Source,
|
||||
'sync.tasks.download_media_image': Media,
|
||||
'sync.tasks.download_media_file': Media,
|
||||
'sync.tasks.download_media_metadata': Media,
|
||||
'sync.tasks.save_all_media_for_source': Source,
|
||||
'sync.tasks.rename_all_media_for_source': Source,
|
||||
'sync.tasks.refresh_formats': Media,
|
||||
}
|
||||
TASK_MAP = get_task_map()
|
||||
MODEL_URL_MAP = {
|
||||
Source: 'sync:source',
|
||||
Media: 'sync:media-item',
|
||||
|
||||
@@ -20,7 +20,7 @@ from ..models import Source
|
||||
from django import forms
|
||||
from ..forms import ScheduleTaskForm
|
||||
from ..tasks import (
|
||||
map_task_to_instance, get_error_message,
|
||||
get_task_map, map_task_to_instance, get_error_message,
|
||||
get_running_tasks, check_source_directory_exists,
|
||||
)
|
||||
|
||||
@@ -83,6 +83,8 @@ class TasksView(ListView):
|
||||
if self.filter_source:
|
||||
params_prefix=f'[["{self.filter_source.pk}"'
|
||||
qs = qs.filter(task_params__istartswith=params_prefix)
|
||||
if not settings.DEBUG:
|
||||
qs = qs.filter(name__in=set(get_task_map().keys()))
|
||||
return qs.order_by(
|
||||
'-priority',
|
||||
'scheduled_at',
|
||||
|
||||
Reference in New Issue
Block a user