【发布时间】:2011-03-13 05:19:43
【问题描述】:
我的可重用 django 应用程序中有一个自定义命令,我想启动一个守护服务,然后返回,让服务继续运行。
我已经将我的服务实现为一个带有启动方法的简单类。当 start 被调用时,它会在一个永恒的循环中运行,休眠 10 秒,然后使用 django orm 检查项目 settings.py 文件中配置的数据库,检查给定文件夹中的条目。
我希望能够:
./manage.py startservice
我的服务并返回。然后在同一个shell中:
./manage.py runserver
并开始在特定数据库表中添加条目,这些条目会在 5 秒内被后台运行的服务拾取并处理。
我已经研究了 celery 以寻求更多基于消息队列的方法,但它依赖于太多其他东西。重要的是整个事情都遵循 django 的可重用应用程序模式。
有什么提示或想法吗?
【问题讨论】:
-
请注意,celery 可以使用 django ORM 和数据库而不是 RabbitMQ,如果这就是您的意思,因为您过于依赖其他东西。
标签: python django service command