사용자 정의 django 명령을 Heroku에서 예약 된 작업으로 실행하려고합니다. 로컬로 사용자 정의 명령을 실행할 수 있습니다 : python manage.py send_daily_email
.Heroku에서 Django 사용자 지정 manage.py 작업 실행 - 가져 오기 문제
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 :에 "실행"Heroku가 스케줄러 부가 기능을 통해 작업을 시도 할 때
그러나, Heroku가 나에게 다음과 같은 예외를주고있다 (참고 : 나는 사용자 지정 관리 명령 자체에 문제가 없습니다) /bin/send_daily_email.py에서 파이썬 스크립트를 배치하고, 그것은 다음과 같다 :
#! /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
는 Heroku가 내 그러나, 나는 heroku run bin/python
을 실행할 수 있어요 - 파이썬 쉘을 실행 - 성공 완전히 내가 장고의 SETTINGS_MODULE
내 PYTHON_PATH
가시성이 함께 할 수있는 뭔가가 꽤 확신 django.conf
에서 settings
를 가져,하지만 난 문제를 해결하는 방법을 확실 해요. 누군가가 올바른 방향으로 나를 가리킬 수 있을까요? 내가 여기서하려는 일을 성취하기위한 쉬운 방법이 있습니까?
미리 알려 주셔서 감사합니다. Heroku에 새로운! :)
편집 :
당 닉스의 코멘트, 나는 약간의 조정을, 내 정확한 파이썬 경로를 지정하는 것을 발견 않았다, 나는 장고 설정 과거를 얻을했다.
는 이제 나타납니다
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'
있지만, 나는 'send_daily_email'볼 수 있습니다 내가 실행할 때``Heroku가이 빈/파이썬 응용 프로그램/manage.py```를 실행합니다.
답변을 찾으면 업데이트를 계속하겠습니다.
와우. 네가 옳아. 내가''heroku를 bin/python bin/send_daily_email.py''' (대개''heroku run bin/send_daily_email.py)라고 부르면됩니다.나는 나의 대답을 수정하고 당신이 도울 수 있는지보기 위해 나의 현재의 반응을 보여줄 것이다 :) 그러나 나는 당신이 그 질문에 답했다는 것을 말할 것이다. – kturner