Próbuję uruchomić niestandardowe polecenie django jako zaplanowane zadanie na Heroku. Jestem w stanie wykonać polecenie niestandardowe lokalnie za pośrednictwem: python manage.py send_daily_email
. (Uwaga: nie mają żadnych problemów z polecenia zarządzania na zlecenie samego)Uruchamianie niestandardowego zadania manage.py Django na Heroku - problemy z importowaniem
Jednak Heroku daje mi następujący wyjątek podczas próby „Uruchom” zadanie poprzez Heroku Harmonogram dodatek:
Traceback (most recent call last):
File "bin/send_daily_visit_email.py", line 2, in <module>
from django.conf import settings
ImportError: No module named django.conf
I umieszczony skrypt Pythona w /bin/send_daily_email.py, a to z następujących powodów:
#! /usr/bin/python
from django.conf import settings
settings.configure()
from django.core import management
management.call_command('send_daily_email') #delegates off to custom command
ciągu Heroku, jednak jestem w stanie uruchomić heroku run bin/python
- uruchomić powłokę Pythona - i sukces pełni importować settings
z django.conf
Jestem pewien, że ma to coś wspólnego z moim widoczności Django SETTINGS_MODULE
PYTHON_PATH
albo, ale jestem pewien, jak rozwiązać ten problem. Czy ktoś może wskazać mi właściwy kierunek? Czy istnieje łatwiejszy sposób na zrealizowanie tego, co próbuję tutaj zrobić?
Dziękuję bardzo za porady i porady z góry! Nowość w Heroku! :)
EDIT:
komentarz Per Nix jest, zrobiłem kilka zmian, a nie odkryć, że określając moją dokładną ścieżkę Python, zrobiłem ominąć konfiguracji Django.
teraz otrzymują:
File "/app/lib/python2.7/site-packages/django/core/management/__init__.py", line 155, in call_command
raise CommandError("Unknown command: %r" % name)
django.core.management.base.CommandError: Unknown command: 'send_daily_email'
Chociaż widzę 'send_daily_email' kiedy uruchomić `Heroku uruchomić bin/python app/manage.py```.
Będę aktualizował, jeśli natknę się na odpowiedź.
Wow. Masz rację. Kiedy nazywam '' 'heroku uruchom bin/python bin/send_daily_email.py''' (w przeciwieństwie do' '' heroku uruchom bin/send_daily_email.py).Zmienię moją odpowiedź i pokażę moją obecną odpowiedź, aby sprawdzić, czy możesz pomóc :) Ale powiedziałbym, że odpowiedziałeś na to pytanie. – kturner