You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Celery链式任务报错:'UUID'/'str'对象无'game_id'属性

问题:Celery链式调用中出现AttributeError: 'UUID/str' object has no attribute 'game_id'

问题场景

我通过以下代码链式调用Celery任务:

tasks_chain = chain(create_game_folder.si(instance.id))
tasks_chain |= download_game.si(instance.id).set(
            task_id=str(task_id)
        )

执行时触发错误:

logger.debug(f"{game_id=}")
AttributeError: 'UUID' object has no attribute 'game_id'

尝试将instance.id转为字符串后,依然报错:

AttributeError: 'str' object has no attribute 'game_id'

任务函数定义

创建文件夹的任务函数代码如下:

@shared_task()
def create_game_folder(game_id):
    logger.info("create_game_folder")
    logger.debug(f"{game_id=}")
    game = Game.objects.get(id=game_id)

疑问

为什么会尝试从UUID/字符串对象中获取game_id属性?是否是.si()/.delay()`的后台处理逻辑导致的?

附相关配置信息

Celery服务配置(/etc/systemd/system/celery.service)

[Unit]
Description=Celery Service
Requires=django-app.service
After=django-app.service

[Service]
Type=forking
User=david
Group=vboxsf
RuntimeDirectory=celery
WorkingDirectory=/var/www/html/django-app.com
ExecStart=poetry run celery -A game_manager multi start worker --loglevel="INFO" --concurrency=5
ExecStop=poetry run celery multi stopwait worker --loglevel="INFO"
ExecReload=poetry run celery -A game_manager multi restart worker --loglevel="INFO" --concurrency=5
Restart=always

[Install]
WantedBy=multi-user.target

Celery配置

# Celery configuration
CELERY_BROKER_URL = "redis://localhost:6379"
CELERY_RESULT_BACKEND = "redis://localhost:6379"
CELERY_TASK_SERIALIZER = 'json'
CELERY_RESULT_SERIALIZER = 'json'
CELERY_ACCEPT_CONTENT = ['json']
CELERY_TIMEZONE = 'UTC'
CELERY_ENABLE_UTC = True

Django应用服务配置(/etc/systemd/system/django-app.service)

[Unit]
Description=Start Django app
After=network.target

[Service]
User=david
Group=david
Environment="PYTHONUNBUFFERED=TRUE"
WorkingDirectory=/var/www/html/django-app.com
ExecStart=poetry run gunicorn game_manager.wsgi:application --config game_manager/gunicorn_conf.py --reload

[Install]
WantedBy=multi-user.target

内容的提问来源于stack exchange,提问作者Daviid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 21:53:23