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

在PythonAnywhere部署Django+APScheduler时uWSGI线程未启用的解决求助

在PythonAnywhere上为Django应用启用uWSGI线程以支持APScheduler

1. 定位uWSGI配置文件

PythonAnywhere中,每个Web应用的uWSGI配置文件路径固定为:
/var/www/<你的用户名>_pythonanywhere_com_wsgi.py

2. 修改配置启用线程

打开上述文件,在末尾添加线程启用配置:

import os
from django.core.wsgi import get_wsgi_application

os.environ.setdefault('DJANGO_SETTINGS_MODULE', '<你的项目名>.settings')

application = get_wsgi_application()

# 启用uWSGI线程
from uwsgidecorators import postfork
import uwsgi

@postfork
def setup_threads():
    uwsgi.opt['enable-threads'] = True

将<你的项目名>替换为实际的Django项目名称。

3. 重启Web应用

登录PythonAnywhere后台,找到对应Web应用,点击Reload按钮,使配置生效。

4. 验证线程状态

可在Django视图或自定义命令中添加代码验证:

import uwsgi
print(uwsgi.opt.get('enable-threads'))  # 正常启用后输出True

额外提示:确保APScheduler配置匹配线程环境,例如设置合理的线程池大小:

from apscheduler.schedulers.background import BackgroundScheduler

scheduler = BackgroundScheduler(timezone='Asia/Shanghai')
scheduler.configure(pool_size=5)  # 根据业务需求调整线程数

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 15:50:20