gpt4 book ai didi

Python、Django 和事件循环(定期作业)

转载 作者:行者123 更新时间:2023-11-30 23:45:58 25 4
gpt4 key购买 nike

我正在开发一个Python应用程序,用于在Debian Linux下使用Django + WSGI + Apache的服务器。该应用程序有网络界面以及命令行界面(仍然使用 django 模型...,只是不使用 View 和模板)。
数据库后端是SQLite3。

该应用程序还需要定期运行一些作业。我编写了一个类似 UNIX 的守护进程,它使用 python-gobject 和 python-glib,并像这样运行这些作业:

gobject.timeout_add_seconds(seconds, someCallback...)
gobject.timeout_add_seconds(seconds, someCallback...)
...
gobject.timeout_add_seconds(seconds, someCallback...)

glib.MainLoop().run()

我测试了一下,sqlite db写入数据有一些奇怪的问题。我认为这是因为有两个 Python 实例从/向单个 sqlite 数据库读取和写入。一种用于 apache+wsgi,另一种用于我自己的守护进程。 (或者事件 3 Python 实例,当我使用命令行界面时)

我的问题是,建议我做什么?将这些 timeout_add 和 MainLoop 放在我的“dj_survey.wsgi”中以在 apache start 上运行?

最佳答案

不,您不想在 apache/任何 WSGI 环境中运行后台进程。

在 shell 上启动它们并使用某种方法与后台进程通信。

关于Python、Django 和事件循环(定期作业),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9294094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com