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