千家信息网

Django+Nginx+uWSGI定时任务怎么实现

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,今天小编给大家分享一下Django+Nginx+uWSGI定时任务怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后
千家信息网最后更新 2026年11月03日Django+Nginx+uWSGI定时任务怎么实现

今天小编给大家分享一下Django+Nginx+uWSGI定时任务怎么实现的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

摘要

在Nginx和uWSGI还没配置时,单独在url.py使用apscheduler设置定时任务,使用python manage.py run server,运行正常;但是在配置完成uWSGI后,入口从manage.py变为uwsgi.py,导致需要用户访问后才能加载url.py的apscheduler定时任务,并且随用户访问次数,同一定时任务重复启动。

使用uWSGI的cron

方法一:将url.py的apscheduler定时任务迁移到uwgsi.py

方法二:使用 uWSGI的cron

uWSGI的cron官网 : https://uwsgi-docs-zh.readthedocs.io/zh_CN/latest/Cron.html

end=1while end:    try:        import uwsgi        //建立job_id为0,每天12:12启动fuc的定时器,-1代表*(全部)        uwsgi.register_signal(0, "", fuc)        uwsgi.add_cron(0, 12,12,-1,-1,-1)        end=0    except:        pass

方法一或方法二都需要设置uwsgi.ini的worker=1

[uwsgi]# 进程个数workers=1

使用socket.bind锁

使用uWSGI的cron只限于单进程情况下使用,如果多进程会导致定时器重复启动问题,可以使用socket.bind锁改造定时任务。

    try:        import socket        sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)        sock.bind(("127.0.0.1", 47200))    except socket.error:        logger.info('禁止成功')    else:        //定时任务方法

存在问题,可能存在同时获取 sock.bind(("127.0.0.1", 47200)),能够减缓重复问题,不能完全解决。

使用uWSGI的mule

第一步:新建一个Package,编写__init__.py

//如果是Django项目,需要加上才可以使用django的model//import django//os.environ.setdefault('DJANGO_SETTINGS_MODULE', '项目名.settings')//django.setup()from apscheduler.schedulers.background import BackgroundSchedulerscheduler = BackgroundScheduler()//scheduler.add_job不详说,具体看官网文档scheduler.add_job(...,timezone='Asia/Shanghai')scheduler.start()try:    import uwsgi    while True:        sig = uwsgi.signal_wait()except Exception as err:    pass

第二步:设置uwsgi.ini,增加mule = package包名/init.py

[uwsgi]mule = package包名/__init__.py

以上就是"Django+Nginx+uWSGI定时任务怎么实现"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。

任务 方法 知识 篇文章 进程 问题 内容 定时器 用户 项目 配置 不同 很大 成功 个数 代表 入口 同时 大部分 就是 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 手冲咖啡和咖啡机区别 互联网科技官网 北京互联网科技有限公司 青岛互联网科技公司 壹账通互联网科技 天津摩尔互联网科技 互联网科技视频素材 海南购全球互联网科技 恒生科技互联网指数分析 上海电发互联网科技有限公司 天速互联网络科技有限公司 互联网时代科技改变生活 华夏互联网科技业 开一家科技互联网公司需要多少钱 深圳市罗太互联网科技有限公司 宇信科技在杭州互联网排第几 西安有哪些互联网高科技企业 万物互联网智能科技 互联网科技新闻 广州三三互联网科技有限公司 互联网是第几次科技革命的成果 万易互联网科技有限公司 广州宏创互联网科技 互联网科技小额贷款 中国互联网金融科技基金 北京华百购互联网科技有限公司 阿里互联网科技公司 苏州五指互联网络科技有限 浙南科技城互联网大厦建设工程 世界互联网领先科技成果获奖
0