我需要运行一个python脚本(它正在监听推特),当我的django应用程序收到与特定标签匹配的推文时,它会在我的应用程序上调用各种方法。
目前,我只是在命令行上手动运行脚本,但如果可能的话,我希望它在django内部运行,这样我就可以从那里控制它,这样它在获得新数据时就不必执行HTTP POST。
我看了芹菜(简短地),但对我来说,这似乎是为了定期执行某些小任务
有没有一种方法可以使用芹菜(或其他任何东西)来控制我拥有的这个长期运行的"听推特"脚本?
您应该使用Supervisord来运行您的django应用程序和脚本。将脚本作为Django项目的一部分,将允许您使用Django信号,您可以使用这些信号来编写自定义信号,该信号将在每次twitter
逻辑完成它应该做的事情时发出。Signals
正在阻塞。如果您希望它们是异步的,请将Celery与Django 一起使用
另一种选择是通过supervisord
运行django应用程序和twitter脚本,然后向django应用程序公开一个执行HTTPPOST的REST API
。你可以用TastyPie。