Ich habe eine Web-App in Flask geschrieben, die derzeit auf IIS unter Windows läuft (frag nicht ...).
Ich benutze Sellery, um einige asynchrone Prozesse zu verarbeiten (Zugriff auf eine langsame Datenbank und Erstellung eines Berichts).
Beim Versuch, ein Verhalten für die Fehlerbehandlung einzurichten, stieß ich jedoch auf Dokumente :
"Zeitlimits funktionieren derzeit nicht auf Windows und anderen Plattformen, die das Signal SIGUSR1 nicht unterstützen."
Da die DB sehr langsam werden kann, würde ich gerne ein Timeout-Verhalten für meine Tasks angeben und sie später erneut versuchen lassen, wenn die DB nicht so konfiguriert ist. Wenn die App aus verschiedenen Gründen von Windows aus bedient werden muss, gibt es dafür eine Lösung?
Vielen Dank für Ihre Hilfe.
Es sieht nicht so aus, als wäre in Sellery ein Workaround eingebaut. Könnten Sie das vielleicht direkt in Ihre Aufgabe einarbeiten? Mit anderen Worten: Starten Sie in Ihrem Python-Code einen Zeitgeber, wenn Sie die Aufgabe beginnen, wenn die Aufgabe zu lange dauert, eine Ausnahme auslöst und den Job erneut in die Warteschlange einträgt.