当Django服务器关闭时运行进程
问题描述:
我运行一个带有Raspberry Pi的Python 3的Django Web服务器。 在常见的业务中,我使用了一些RPi.GPIO
命令(将Pin设置为GPIO.HIGH
和GPIO.LOW
)。当Django服务器关闭时运行进程
当我重新启动Django服务器时,我收到一个警告,指出使用了一些引脚。 可以忽略这个警告,但我坚信,忽视警告不是一个好习惯。
- 是否忽略警告是一个好的解决方案?
- 是否可以在关闭过程完成后运行一个过程,以运行
RPi.cleanup()
? - 是否有可能在服务器运行之前运行
RPi.cleanup()
或其他进程,或者apps.py
文件的ready()
方法中运行?
答
您可以使用自定义脚本启动服务器;并在此脚本中 - 确保系统在启动之前处于就绪状态(即PIN可用)。
当系统关闭时,您可以使用相同的技巧。
你将如何插入这些状态取决于你如何在第一时间运行服务器。
例如,如果您使用的是uwsgi,则可以使用as-user-atexit
and pre-app
hooks。