私は、Herokuでスケジュールされたタスクとしてカスタムdjangoコマンドを実行しようとしています。私はローカルでカスタムコマンドを実行することができます:python manage.py send_daily_email
。 (注:私は、カスタム管理コマンド自体に問題を持っていない)HerokuでDjangoのカスタムmanage.pyタスクを実行中 - インポートの問題
に「ファイル名を指定して実行」Herokuのスケジューラのアドオンによるタスクしようとしたときしかし、Herokuのは、私に次の例外を与えている:私は
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
を/bin/send_daily_email.pyでPythonスクリプトを置き、そして、それは以下の通りです:
#! /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
を実行することができています - Pythonシェルを起動する - と成功完全django.conf
からsettings
をインポート私はそれがDjangoのSETTINGS_MODULE
に私のPYTHON_PATH
または可視性とは何かを持っているかなり確信しているが、私は問題を解決する方法がわかりませんよ。誰かが私を正しい方向に向けることができますか?私がここでやろうとしていることを達成するための簡単な方法はありますか?
事前にアドバイスをいただきありがとうございます。 Herokuに新しい! :)
EDIT:
パーニックスさんのコメントは、私はいくつかの調整をした、と私の正確なPythonのパスを指定することを発見しました、私は、Djangoの設定を過ぎて手に入れました。
は、私が今受け取る:
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のは、ビン/ Pythonアプリケーション/ manage.py```を実行します。
私は答えを見つけたら更新します。
ワウです。あなたが正しい。私が '' herokuをbin/python bin/send_daily_email.py'''( '' 'heroku run bin/send_daily_email.py)と呼ぶとき。私は私の答えを修正し、あなたが助けることができるかどうかを見るために私の現在の反応を示すでしょう:)しかし、私はあなたが質問に答えたと言います。 – kturner