django服务器关闭时运行进程

Posted

技术标签:

【中文标题】django服务器关闭时运行进程【英文标题】:Run process when django server shut down 【发布时间】:2018-01-24 03:28:43 【问题描述】:

我使用 Raspberry Pi 通过 Python 3 运行 Django Web 服务器。 在日常业务中,我使用了一些RPi.GPIO 命令(将Pin 设置为GPIO.HIGHGPIO.LOW)。

当我重新启动 Django 服务器时,我收到一条警告,指出使用了一些 Pin。 可以忽略此警告,但我坚信,忽略警告不是一个好习惯。

忽略警告是否是一个好的解决方案? 是否可以在关闭过程完成后运行一个进程来运行RPi.cleanup()? 是否可以在服务器运行之前运行RPi.cleanup() 或其他进程,或者在apps.py 文件中的ready() 方法中运行?

【问题讨论】:

【参考方案1】:

您可以使用自定义脚本启动服务器;在此脚本中 - 确保系统在启动前处于就绪状态(即 PIN 可用)。

当系统关闭时,您可以使用相同的技巧。

您将如何插入这些状态取决于您首先运行服务器的方式。

例如,如果您使用的是 uwsgi,则可以使用 as-user-atexit and pre-app hooks。

【讨论】:

以上是关于django服务器关闭时运行进程的主要内容,如果未能解决你的问题,请参考以下文章

DSAPI CMD命令行进程代理

perf 在 Linux 中运行进程

Eclipse 使用旧的 PATH 变量在 Gradle Task 中执行命令行进程?

将命令行进程的标准输出重定向到文件

当进程可以来来去去时,如何在 C# 中进行进程间通信?

显示从 ASP.NET MVC 中的命令行进程获取的数据