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