Make wait_for_media_premiere a placeholder that might never execute
This commit is contained in:
1 parent
f456c22b30
commit
ce9eabd5d3
1 file changed
+23
-27
+23
-27
@@ -170,9 +170,6 @@ def get_media_metadata_task(media_id):
|
||||
def get_media_thumbnail_task(media_id):
|
||||
return get_first_task('sync.tasks.download_media_thumbnail', media_id)
|
||||
|
||||
def get_media_premiere_task(media_id):
|
||||
return get_first_task('sync.tasks.wait_for_media_premiere', media_id)
|
||||
|
||||
def get_source_check_task(source_id):
|
||||
return get_first_task('sync.tasks.save_all_media_for_source', source_id)
|
||||
|
||||
@@ -248,18 +245,23 @@ def upcoming_media():
|
||||
published__gte=previous_hour,
|
||||
)
|
||||
for media in qs_gen(qs):
|
||||
media_id = str(media.pk)
|
||||
valid, hours = media.wait_for_premiere()
|
||||
if valid:
|
||||
save_model(media)
|
||||
vn_fmt = _('Waiting for the premiere of "{}" at: {}')
|
||||
wait_for_media_premiere(
|
||||
str(media.pk),
|
||||
run_at=next_hour,
|
||||
verbose_name=vn_fmt.format(
|
||||
task = get_first_task('sync.tasks.wait_for_media_premiere', media_id)
|
||||
if not task:
|
||||
# create a task to update
|
||||
when = media.published + timezone.timedelta(minutes=1)
|
||||
vn_fmt = _('Waiting for the premiere of "{}" at: {}')
|
||||
vn = vn_fmt.format(
|
||||
media.key,
|
||||
media.published.isoformat(' ', 'seconds'),
|
||||
),
|
||||
)
|
||||
)
|
||||
wait_for_media_premiere(media_id, run_at=when, verbose_name=vn)
|
||||
task = get_first_task('sync.tasks.wait_for_media_premiere', media_id)
|
||||
if hours:
|
||||
update_task_status(task, f'available in {hours} hours')
|
||||
log.debug(f'upcoming_media: wait_for_premiere: {media.key}: {valid=} {hours=}')
|
||||
|
||||
|
||||
@@ -1046,6 +1048,17 @@ from background_task.exceptions import InvalidTaskError # noqa: E402
|
||||
from background_task.models import Task, CompletedTask # noqa: E402
|
||||
|
||||
|
||||
@background(schedule=dict(priority=0, run_at=60), queue=Val(TaskQueue.NET), remove_existing_tasks=False)
|
||||
def wait_for_media_premiere(media_id):
|
||||
try:
|
||||
media = Media.objects.get(pk=media_id)
|
||||
except Media.DoesNotExist as e:
|
||||
raise InvalidTaskError(_('no such media')) from e
|
||||
else:
|
||||
r = media.wait_for_premiere()
|
||||
if r[0]:
|
||||
save_model(media)
|
||||
|
||||
@background(schedule=dict(priority=0, run_at=0), queue=Val(TaskQueue.FS), remove_existing_tasks=False)
|
||||
def wait_for_database_queue():
|
||||
from common.huey import h_q_tuple
|
||||
@@ -1187,23 +1200,6 @@ def save_all_media_for_source(source_id):
|
||||
res.get(blocking=True)
|
||||
|
||||
|
||||
@background(schedule=dict(priority=0, run_at=60), queue=Val(TaskQueue.NET), remove_existing_tasks=True)
|
||||
def wait_for_media_premiere(media_id):
|
||||
try:
|
||||
media = Media.objects.get(pk=media_id)
|
||||
except Media.DoesNotExist as e:
|
||||
raise InvalidTaskError(_('no such media')) from e
|
||||
else:
|
||||
valid, hours = media.wait_for_premiere()
|
||||
if not valid:
|
||||
return
|
||||
|
||||
if hours:
|
||||
task = get_media_premiere_task(media_id)
|
||||
update_task_status(task, f'available in {hours} hours')
|
||||
save_model(media)
|
||||
|
||||
|
||||
@background(schedule=dict(priority=1, run_at=90), queue=Val(TaskQueue.FS), remove_existing_tasks=False)
|
||||
def delete_all_media_for_source(source_id, source_name, source_directory):
|
||||
source = None
|
||||
|
||||
Reference in new issue
Block a user