Jak napisać skrypt w Pythonie, który działa, gdy seler działa na komputerze (Ubuntu)?Jak sprawdzić, czy Seler/Supervisor działa przy pomocy Pythona
Mój przypadek użycia. Mam prosty plik python z niektórymi zadaniami. Nie używam Django ani Flask. Używam nadzoru, aby uruchomić kolejkę zadań. Na przykład,
tasks.py
from celery import Celery, task
app = Celery('tasks')
@app.task()
def add_together(a, b):
return a + b
Promotor:
[program:celery_worker]
directory = /var/app/
command=celery -A tasks worker info
To wszystko działa, teraz chce mieć stronę, która sprawdza, czy proces seler/kierownik pracuje. np. coś takiego może za pomocą Flask pozwala mi hostować stronę dającą status 200 pozwalający mi załadować saldo.
Na przykład ...
check_status.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def status_check():
#check supervisor is running
if supervisor:
return render_template('up.html')
else:
return render_template('down.html')
if __name__ == '__main__':
app.run()
Nie mam żadnych głosów na dzisiaj, więc aktualizuję tę metodę komentarzem. – sobolevn
Nie sądzę, że 'app = selekcja.Cellilla (" zadania ", broker = 'redis: //')' linia jest niezbędna. Zmienna 'app' nie jest używana nigdzie indziej. – djromero
@djromero minęło trochę czasu, odkąd sprawdziłem, jak to działa, ale IIRC jest potrzebne do utworzenia instancji aplikacji singleton w bibliotekach wewnętrznych. Nie powinno być potrzebne, jeśli używasz selera gdzieś indziej i tworzy on instancję selera. – Rotten194