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

Python、Django和事件循环(定期作业),python,django,pygobject,Python,Django,Pygobject,我正在为服务器开发一个Python应用程序,它在DebianLinux下使用Django+WSGI+Apache。该应用程序具有web界面以及 命令行界面(仍然使用django模型…,只是不使用视图和模板)。 数据库后端是SQLite3 此应用程序还需要定期运行某些作业。我编写了一个类unix的守护进程,它使用python gobject和python glib,并像这样运行这些作业: gobject.timeout_add_seconds(seconds, someCallback...) g

我正在为服务器开发一个Python应用程序,它在DebianLinux下使用Django+WSGI+Apache。该应用程序具有web界面以及 命令行界面(仍然使用django模型…,只是不使用视图和模板)。
数据库后端是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 db读写。一个用于apache+wsgi,另一个用于我自己的守护进程。(或使用命令行界面时的事件3 Python实例)


我的问题是,你建议我做什么?将那些timeout\u add和MainLoop放入我的“dj\u survey.wsgi”中,以便在apache start上运行?

不,您不想在apache/wsgi环境中运行后台进程


在shell上启动它们,并使用一些方法与后台进程进行通信。

谢谢,我应该使用什么方法进行通信?(我想服务器不使用D-BUS!)我应该从该守护进程向本地主机的apache/django发送http请求吗?(因为apache和django只响应这些请求)或者我最好不要使用WSGI。芹菜不是你的选择吗?它的功能似乎非常适合你的需要。是的,我正在阅读有关它的文章。但是这个话题让我有点怀疑,因为我不需要太多的功能!只是一些最简单和稳定的东西。让我改变一下问题:我可以在wsgi环境中运行jsonrpc服务器吗?我看到了wsgi jsonrpc,但我担心django不允许我有两个wsgi应用程序!