Ich versuche, einen benutzerdefinierten Verwaltungsbefehl auf meiner Django-App, in einer virtuellen Umgebung installiert.Automatisieren benutzerdefinierte Django-Management-Befehl mit crontab, innerhalb von virtualenv
Diese Aufgabe soll einmal pro Minute ausgeführt werden, und ich kann nicht ganz herausfinden, warum es nicht funktioniert.
Hier ist, was ich in meiner crontab:
*/1 * * * * /home/myuser/.virtualenvs/myvirtualenv/bin/python /home/myuser/myapp/manage.py mycommand --settings=myapp.settings
Das wird nicht funktionieren, auch wenn ich der Befehl siehe Ausführung einmal pro Minute in /var/log/syslog
, aber es muss versagt werden, weil es keine Wirkung erzeugt.
Wenn ich nur den gleichen Befehl kopieren und ausführen, wird alles glatt.
Ich habe dann versucht stattdessen einen externen Bash-Skript ausgeführt wird, was wiederum funktioniert perfekt, wenn ich es manuell ausführen:
*/1 * * * * source /home/myuser/myapp/myscript
Das Skript das virtualenv aktiviert und betreibt den Management-Befehl. Auch hier keine Ergebnisse.
Ich bin ein bisschen verloren, da ich mich gründlich umgesehen habe und mich komplett festgefahren habe, da anscheinend nirgends Fehlermeldungen auftauchen.
empfehlen Welche Protokollierung tun Ihr Management-Befehl geht? Es würde sich lohnen, so viel wie möglich festzuhalten, um zu sehen, wo es explodiert, sonst testeest du effektiv blind. –
Auch in welcher Umgebung läuft das? VPS/Shared Hosting? –
Mein Befehl macht einen guten Teil der Protokollierung, aber ich kann nichts davon sehen, wenn ich den Befehl nicht manuell ausführe. Das führt mich zu der Annahme, dass ich etwas mit Cron und nicht mit dem Befehl vermasselt habe. Es läuft auf einem VPS ja. – spookyjudges