我正在为在 Debian Linux 下使用 Django + WSGI + Apache 的服务器开发 Python 应用程序。该应用程序具有 Web 界面和命令行界面(仍然使用 django 模型......,只是不使用视图和模板)。
数据库后端是 SQLite3。
此应用程序还需要定期运行一些作业。我编写了一个使用 python-gobject 和 python-glib 的类 unix 守护程序,并像这样运行这些作业:
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 db 读取和写入。一个用于 apache+wsgi,一个用于我自己的守护进程。(或事件 3 Python 实例,当我使用命令行界面时)
我的问题是,建议我做什么?将那些 timeout_add 和 MainLoop 放在我的“dj_survey.wsgi”中以在 apache 启动时运行?