Я разрабатываю приложение Python для сервера, использующего Django + WSGI + Apache под Debian Linux. Приложение имеет веб-интерфейс, а также интерфейс командной строки (который по-прежнему использует модели 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. Один для apache+wsgi и один для моего демона. (Или событие 3 экземпляра Python, когда я использую интерфейс командной строки)
У меня вопрос, что мне посоветуете делать? Поместить эти timeout_add и MainLoop в мой «dj_survey.wsgi» для запуска при запуске apache?