Tiktok-Talent-Info/celery_worker.py

90 lines
2.1 KiB
Python
Raw Permalink Normal View History

2025-03-22 20:54:10 +08:00
import torch.multiprocessing as mp
mp.set_start_method("fork", force=True)
# from celery import Celery
# celery_app = Celery(
# "tasks",
# broker="redis://localhost:6379/0", # Redis as broker
# backend="redis://localhost:6379/0", # Redis for storing results
# )
# celery_app.conf.task_routes = {
# "tasks.*": {"queue": "default"},
# }
from celery import Celery
# app = Celery(
# "tasks",
# broker="redis://localhost:6379/0",
# backend="redis://localhost:6379/0",
# include=["tasks"]
# )
# app = Celery(
# "tasks",
# broker="pyamqp://guest@localhost//",
# backend="rpc://",
# include=["tasks"]
# )
app = Celery(
"celery_worker",
broker="pyamqp://guest@localhost//",
backend="rpc://",
)
# celery = Celery(
# "tasks",
# broker="pyamqp://guest@localhost//",
# backend="rpc://"
# )
app.conf.task_routes = {
"tasks.*": {"queue": "default"},
}
app.conf.worker_prefetch_multiplier = 1
app.conf.task_acks_late = True
# from celery import Celery
# from kombu import Queue
# celery = Celery(
# "tasks",
# broker="redis://localhost:6379/0",
# backend="redis://localhost:6379/0",
# include=["tasks"]
# )
# # Define task queues properly
# celery.conf.task_queues = (
# Queue("high_priority"),
# Queue("default"),
# Queue("low_priority"),
# )
# # Define task routing
# celery.conf.task_routes = {
# "tasks.text_query_task": {"queue": "high_priority"},
# "tasks.image_query_task": {"queue": "default"},
# "tasks.video_query_task": {"queue": "low_priority"},
# }
# # Define task rate limits
# celery.conf.task_annotations = {
# "tasks.text_query_task": {"rate_limit": "10/m"},
# "tasks.image_query_task": {"rate_limit": "5/m"},
# "tasks.video_query_task": {"rate_limit": "3/m"},
# }
# # Define task retries
# celery.conf.task_acks_late = True # Ensure task is only removed from queue when fully processed
# celery.conf.worker_prefetch_multiplier = 1 # Avoid one worker taking too many tasks at once
# # Define task time limits
# celery.conf.task_time_limit = 60 # 60 seconds max execution time
# celery.conf.task_soft_time_limit = 50 # Warn at 50 seconds