/ / Langer Daemon-Prozess auf Django-Python, Django, Sellerie, Django-Sellerie

Long running Daemon Prozess auf Django - Python, Django, Sellerie, Django-Sellerie

Ich muss ein Python-Skript ausführen (das Twitter abhört), das verschiedene Methoden in meiner Django-App aufruft, wenn es Tweets erhält, die einem bestimmten Hashtag entsprechen.

Im Moment starte ich das Skript einfach von Hand weiterdie Befehlszeile, aber ich möchte, dass es innerhalb von django ausgeführt wird, wenn möglich, sodass ich es von dort aus steuern kann und daher keine HTTP-POSTs ausführen muss, wenn neue Daten abgerufen werden.

Ich habe mir Sellerie (kurz) angesehen, aber dies scheint mir zu sein, wenn ich regelmäßig kleine Aufgaben erledige.

Gibt es eine Möglichkeit, Sellerie (oder etwas anderes) zu verwenden, um dieses seit langem laufende "listen to Twitter" -Skript steuern zu können?

Antworten:

1 für die Antwort № 1

Du solltest Supervisor um Ihre Django-Anwendung und Ihr Skript auszuführen. Wenn Sie das Skript zu einem Teil des Django-Projekts machen, können Sie es verwenden Django-Signale Mit diesem können Sie ein benutzerdefiniertes Signal schreiben, das jedes Mal von Ihnen gesendet wird twitter Logik ist getan, was sie tun soll. Signals blockieren. Wenn Sie möchten, dass sie asynchron verwendet werden Sellerie mit Django

Eine Alternative wäre, Ihre Django-Anwendung und das Twitter-Skript über auszuführen supervisord und dann a ausstellen REST API was einen HTTP-POST an die Django-Anwendung. Sie können verwenden TastyPie dafür.