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

FastAPI中无法启用Celery的task_always_eager模式问题

问题:FastAPI中Celery task_always_eager设置无效,测试仍尝试连接Broker

我正在FastAPI应用里实现队列功能,手动验证过Broker连接和消息发送都正常。但为了测试需求,想通过设置task_always_eager选项,不用启动Broker也能跑测试。环境变量已经正确配置(调试显示值为true),但运行pytest时还是会尝试连接Broker,报连接拒绝错误。

项目结构

$ tree -I '*pyc|venv' src tests
src
├── celery_app.py
├── celeryconf.py
├── db.py
├── main.py
├── __pycache__
├── red_link
│	├── connectors.py
│	├── exceptions.py
│	├── __init__.py
│	├── models.py
│	├── __pycache__
│	├── services.py
│	├── tasks.py
│	└── views.py
├── settings.py
└── throttling
	├── __init__.py
	├── middleware.py
	└── __pycache__
tests
├── conftest.py
├── fixtures
│	└── casettes
│		├── test_sends_sms_fails.yml
│		└── test_sends_sms.yml
├── __pycache__
└── test_redlink_sms_sending.py

8 directories, 18 files

celery_app.py 配置

from celery import Celery
from settings import get_settings


settings = get_settings()


def create_celery_app() -> Celery:
    celery = Celery(
        "sms_sender",
        broker=settings.celery_broker_url,
        include=["red_link.tasks"],
    )
    celery.config_from_object("celeryconf")
    return celery


app = create_celery_app()

celeryconf.py 配置

from settings import get_settings


settings = get_settings()

task_always_eager = settings.celery_task_always_eager

测试报错信息

=============================================================================================== short test summary info ===============================================================================================
FAILED tests/test_redlink_sms_sending.py::test_sends_sms - kombu.exceptions.OperationalError: [Errno 111] Connection refused
FAILED tests/test_redlink_sms_sending.py::test_sends_sms_fails - kombu.exceptions.OperationalError: [Errno 111] Connection refused
FAILED tests/test_redlink_sms_sending.py::test_send_sms_fails_with_error_connection - kombu.exceptions.OperationalError: [Errno 111] Connection refused

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 00:53:25