fix: trigger legacy tasks manager every 5m (#2987)
### Description This ensures that when the LibreTime interface is not used for a long time, we still have the task manager run essential tasks for the schedule. Related to #2670
This commit is contained in:
parent
bcaa77ff3c
commit
7040d0e4bd
6 changed files with 31 additions and 0 deletions
|
@ -9,7 +9,9 @@ from urllib.parse import urlsplit
|
|||
import mutagen
|
||||
import requests
|
||||
from celery import Celery, signals
|
||||
from celery.schedules import crontab
|
||||
from celery.utils.log import get_task_logger
|
||||
from libretime_api_client.v1 import ApiClient as LegacyClient
|
||||
from mutagen import MutagenError
|
||||
from requests import RequestException, Response
|
||||
|
||||
|
@ -19,6 +21,11 @@ from .config import config
|
|||
worker = Celery()
|
||||
logger = get_task_logger(__name__)
|
||||
|
||||
legacy_client = LegacyClient(
|
||||
base_url=config.general.public_url,
|
||||
api_key=config.general.api_key,
|
||||
)
|
||||
|
||||
|
||||
@signals.worker_init.connect
|
||||
def init_sentry(**_kwargs):
|
||||
|
@ -37,6 +44,22 @@ def init_sentry(**_kwargs):
|
|||
)
|
||||
|
||||
|
||||
worker.conf.beat_schedule = {
|
||||
"legacy-trigger-task-manager": {
|
||||
"task": "libretime_worker.tasks.legacy_trigger_task_manager",
|
||||
"schedule": crontab(minute="*/5"),
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
@worker.task()
|
||||
def legacy_trigger_task_manager():
|
||||
"""
|
||||
Trigger the legacy task manager to perform background tasks.
|
||||
"""
|
||||
legacy_client.trigger_task_manager()
|
||||
|
||||
|
||||
@worker.task(name="podcast-download", acks_late=True)
|
||||
def podcast_download(
|
||||
episode_id: int,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue