Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Django在应用程序启动时运行代码,但不在迁移时运行

Django在应用程序启动时运行代码,但不在迁移时运行
EN

Stack Overflow用户
提问于 2016-06-20 06:43:24
回答 4查看 2.4K关注 0票数 8

嗨,我想启动一个后台线程,它在我的应用程序第一次运行时运行。我已经使用应用程序配置的ready()函数实现了它。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
class MyappConfig(AppConfig):
    name = 'myApp'
    
    def ready(self):
        try:
            thread = threading.Thread(target=xxxx)
        except:
            pass          

问题是,当Django运行它的迁移时,这个方法也会被调用,但它不应该这样做。我如何才能防止这种情况的发生。

我尝试过使用Django后台任务,但它根本不会运行任务

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2016-06-20 08:24:19

如果使用python manage.py migrate调用脚本,则可以避免执行代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import sys
if not 'manage.py' in sys.argv:
    ....
票数 8
EN

Stack Overflow用户

发布于 2020-08-09 13:09:12

我发现最好的方法是检查runserver是否在sys.argv

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
from django.apps import AppConfig
import sys

class config(AppConfig):
    name = 'appName'
    if 'runserver' in sys.argv:
        do_main_thread()

这比manage.py工作得更好,因为在我用于migratemakemigrationsrunserver的每个命令中都有这个参数。

票数 1
EN

Stack Overflow用户

发布于 2021-08-25 21:20:32

准备了我的版本如何避免在Django应用程序启动时在后台启动自定义线程。

例如,如果您正在设置webhooks或推送另一个服务。并希望在迁移或任何其他命令期间避免这种情况,除了manage.py runserver和使用gunicorn启动web服务器之外。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import logging
import sys
from django.apps import AppConfig

logger = logging.getLogger(__name__)


class config(AppConfig):

    def ready(self):
        if not sys.argv[0].endswith('gunicorn') and \
                sys.argv[0].endswith('manage.py') and 'runserver' not in sys.argv:
            logger.debug('Not starting extra threads here.')
            return

        do_start_new_threads()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37916077

复制
相关文章
在Spring Boot启动时运行定制的代码
Spring Boot会自动为我们做很多配置,但迟早你需要做一些自定义工作。在本文中,您将学习如何挂钩应用程序引导程序生命周期并在Spring Boot启动时执行代码。
lyb-geek
2018/12/25
2.3K0
设置PyCharm运行程序时在Run窗口运行,不在Python Console窗口中运行
最近,在PyCharm中运行项目的时候发现不是在Run窗口运行了,而是在Python Console中运行,对于已经习惯了再Run中看结果的我来说,特别的别扭。下面,将会介绍如何把Python Console窗口改成Run窗口。
全栈程序员站长
2022/09/27
2.8K0
设置PyCharm运行程序时在Run窗口运行,不在Python Console窗口中运行
在 .NET 应用程序中运行 JavaScript
前几天我在做一个副业,意识到我需要使用一些 JavaScript 功能。一想到要再次处理 Node.js 和 npm,我就完全放弃了,所以我决定研究一下在 .NET 应用程序中运行 JavaScript 的可能性。很疯狂吧?实际上,这出乎意料的简单。
独立观察员
2022/12/06
2.6K0
在 .NET 应用程序中运行 JavaScript
开始在Kubernetes运行Python应用程序
你知道你想要在Kubernetes中运行应用程序,但不知道从哪里开始。或者你刚刚开始,但不知道自己不知道什么。在本博客中,你将了解如何封装应用程序,并使其在Kubernetes运行。
CNCF
2019/12/04
3.5K0
开始在Kubernetes运行Python应用程序
.NET 实现启动时重定向程序运行路径及 Windows 服务运行模式部署
日常工作中有时候会遇到需要将程序直接在服务器上运行,而不依赖于 IIS 托管的情况,直接运行有两种方式,一种是部署为 服务模式,另一种则是 直接启动 .NET 发布之后的 exe 文件以 控制台模式运行,控制台模式运行主要问题是服务器在重新启动之后不会自动启动,当然也可以选择配置 Windows 计划任务的形式让 控制台在服务器开机时自动启动, 今天给大家分享 .NET 控制台程序和 .NET 开发的 WebAPI 及 Web 项目在以 Windows 服务模式部署时的一些注意事项。
乌拉栋
2022/10/28
6020
.NET 实现启动时重定向程序运行路径及 Windows 服务运行模式部署
在Docker上运行Django和Vue
在Docker上运行Django和Vue Run Django and Vue on Docker Django Dockerfile 生成django项目依赖包. Generate Django project dependencies. pip freeze > requirements.txt 编写django启动脚本 run.sh Write a Django startup script run.sh python3 manage.py runserver 0.0.0.0:8000 编写 D
葫芦
2021/09/08
1.4K0
在Docker上运行Django和Vue
django基于uwsgi在 nginx下运行
目录:root@HeannysPi:/home/pi/Documents/webtest#
一朵灼灼华
2022/08/05
6010
django基于uwsgi在 nginx下运行
让Python在退出时强制运行一段代码
设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。
王图思睿
2021/06/16
2.3K0
如何让程序启动时以管理员身份运行
1. 添加应用程序清单文件(Application Manifest File)
宿春磊Charles
2021/11/05
2.1K0
Spark 在Yarn上运行Spark应用程序
在 YARN 中,每个应用程序实例都有一个 ApplicationMaster 进程,该进程是为该应用程序启动的第一个容器。应用程序负责从 ResourceManager 上请求资源。一旦分配了资源,应用程序将指示 NodeManagers 启动容器。ApplicationMasters 消除了对活跃客户端的依赖:启动应用程序的进程可以终止,并且从在集群上由 YARN 管理的进程继续协作运行。
smartsi
2019/08/07
1.9K0
在 WASI 上运行 .NET 7 应用程序
WASI代表 WebAssembly 系统接口,WASI 让沙盒化的 WebAssembly 应用程序通过一系列类似 POSIX 的函数访问底层操作系统,允许独立于浏览器运行 WebAssembly 代码。这是一个高度实验性的项目,但同时也是一个非常有趣的项目,并且有可能为行业的大规模编程范式转变做出贡献,使 WebAssembly 真正无处不在。
张善友
2022/04/28
1.4K0
在 WASI 上运行 .NET 7 应用程序
教育直播源码:在Python退出时强制运行代码的方法
设想这样一个场景,你要给一个项目开发测试程序,程序开始运行的时候,会创建初始环境,测试完成以后,会清理环境。
万岳教育源码
2020/04/30
1.5K0
教育直播源码:在Python退出时强制运行代码的方法
[Centos7.2]Django挂载后台运行
在Linux环境中运行这个命令,倘若是通过ssh连接,在连接关闭后Dango也会跟着中断!
贰叁壹小窝
2020/07/22
1.2K0
docker 运行Django项目
已经写好了一个Django项目,需要将这个项目用docker封装一个镜像,使用k8s发布!
py3study
2020/02/24
1.3K0
windows 任何应用程序在 运行 里直接打开
    很多时候电脑的桌面 应用 icon 很多了,不方便找到也比较浪费时间,还有 有些 应用 icon 也许不想放在桌面上,如果能用命令方式打开 应用 那该多好。
卓越笔记
2023/02/18
9230
windows 任何应用程序在 运行 里直接打开
LabVIEW应用程序后台运行
本篇博文分享LabVIEW虽然不常用但是很有意思的一个开发技巧:应用程序后台运行。运行程序后自动隐藏前面板窗口和任务栏图标。
不脱发的程序猿
2022/05/07
1.4K0
LabVIEW应用程序后台运行
在浏览器运行 Java Applet 小应用程序
老师布置了一个作业,让我们编写一个 Java Applet 程序,使之能在浏览器显示信息。
伪君子
2018/10/23
4.7K0
在浏览器运行 Java Applet 小应用程序
用pycharm运行django项目
【点击】run -> Edit Configrations 弹出如下页面 点击“+” 点击Django server 在弹出页面的host填0.0.0.0 点击这个“文件夹” 点击‘+’后填下面的文字
py3study
2020/01/17
6290
如何运行PHP代码_运行php网站
相信不少初学者会遇到不知道如何运行php这个尴尬的问题,小白博主就来一次比较详细的介绍
全栈程序员站长
2022/11/11
10.1K0
如何运行PHP代码_运行php网站
pycharm运行Django项目,提示
确认pycharm编码都是utf-8的情况下,需要修改项目中settings.py
py3study
2020/01/17
4800

相似问题

Django:在每次启动时但在迁移数据库之后运行代码

25

Spring应用程序在启动时不运行天桥迁移

115

在码头运行django迁移

36

pydev调试器在启动时失败,但代码运行正常

376

运行迁移命令Django时出错

23
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文