This should not change behavior, as nothing relies on datetime. Though this should enforce current server timezone for any future tasks.
32 lines
1.1 KiB
Python
32 lines
1.1 KiB
Python
from os import getenv
|
|
|
|
from kombu import Exchange, Queue
|
|
from libretime_shared.config import BaseConfig, GeneralConfig, RabbitMQConfig
|
|
|
|
|
|
class Config(BaseConfig):
|
|
general: GeneralConfig
|
|
rabbitmq: RabbitMQConfig = RabbitMQConfig()
|
|
|
|
|
|
LIBRETIME_CONFIG_FILEPATH = getenv("LIBRETIME_CONFIG_FILEPATH")
|
|
|
|
config = Config(LIBRETIME_CONFIG_FILEPATH)
|
|
|
|
# Celery amqp settings
|
|
BROKER_URL = config.rabbitmq.url
|
|
CELERY_RESULT_BACKEND = "amqp" # Use RabbitMQ as the celery backend
|
|
CELERY_RESULT_PERSISTENT = True # Persist through a broker restart
|
|
CELERY_TASK_RESULT_EXPIRES = 900 # Expire task results after 15 minutes
|
|
CELERY_RESULT_EXCHANGE = "celeryresults" # Default exchange - needed due to php-celery
|
|
CELERY_QUEUES = (
|
|
Queue("podcast", exchange=Exchange("podcast"), routing_key="podcast"),
|
|
Queue(exchange=Exchange("celeryresults"), auto_delete=True),
|
|
)
|
|
CELERY_EVENT_QUEUE_EXPIRES = 900 # RabbitMQ x-expire after 15 minutes
|
|
|
|
# Celery task settings
|
|
CELERY_TASK_SERIALIZER = "json"
|
|
CELERY_RESULT_SERIALIZER = "json"
|
|
CELERY_ACCEPT_CONTENT = ["json"]
|
|
CELERY_TIMEZONE = config.general.timezone
|