Merge pull request #940 from tcely/patch-16

Check source directory when tasks were reset
This commit is contained in:
meeb 2025-04-10 00:07:32 +10:00 committed by GitHub
commit 1c3da54201
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 27 additions and 15 deletions

View File

@ -13,21 +13,28 @@ class Command(BaseCommand):
help = 'Resets all tasks' help = 'Resets all tasks'
@atomic(durable=True)
def handle(self, *args, **options): def handle(self, *args, **options):
log.info('Resettings all tasks...') log.info('Resettings all tasks...')
# Delete all tasks with atomic(durable=True):
Task.objects.all().delete() # Delete all tasks
# Iter all tasks Task.objects.all().delete()
for source in Source.objects.all(): # Iter all sources, creating new tasks
# Recreate the initial indexing task for source in Source.objects.all():
log.info(f'Resetting tasks for source: {source}') verbose_name = _('Check download directory exists for source "{}"')
verbose_name = _('Index media from source "{}"') check_source_directory_exists(
index_source_task( str(source.pk),
str(source.pk), verbose_name=verbose_name.format(source.name),
repeat=source.index_schedule, )
verbose_name=verbose_name.format(source.name) # Recreate the initial indexing task
) log.info(f'Resetting tasks for source: {source}')
# This also chains down to call each Media objects .save() as well verbose_name = _('Index media from source "{}"')
source.save() index_source_task(
str(source.pk),
repeat=source.index_schedule,
verbose_name=verbose_name.format(source.name),
)
with atomic(durable=True):
for source in Source.objects.all():
# This also chains down to call each Media objects .save() as well
source.save()
log.info('Done') log.info('Done')

View File

@ -931,6 +931,11 @@ class ResetTasks(FormView):
Task.objects.all().delete() Task.objects.all().delete()
# Iter all tasks # Iter all tasks
for source in Source.objects.all(): for source in Source.objects.all():
verbose_name = _('Check download directory exists for source "{}"')
check_source_directory_exists(
str(source.pk),
verbose_name=verbose_name.format(source.name),
)
# Recreate the initial indexing task # Recreate the initial indexing task
verbose_name = _('Index media from source "{}"') verbose_name = _('Index media from source "{}"')
index_source_task( index_source_task(