以下の私の clock.py 。heroku run python manage.py send_queued_mail
一日中使用できますrun python manage.py send_queued_mail
が、clock.py ファイルに含めると構文エラーが発生します。
時計.py:
from apscheduler.scheduler import Scheduler
sched = Scheduler()
@sched.interval_schedule(minutes=1)
def timed_job():
python manage.py send_queued_mail
sched.start()
while True:
pass
Heroku エラー メッセージ (ログから):
2014-01-24T01:31:47.256648+00:00 app[clock.1]: File "clock.py", line 7
2014-01-24T01:31:47.256648+00:00 app[clock.1]: run python manage.py send_queued_mail
2014-01-24T01:31:47.256648+00:00 app[clock.1]: ^
2014-01-24T01:31:47.256648+00:00 app[clock.1]: SyntaxError: invalid syntax
編集:
management.call_command('send_queued_mail')
herokuのpythonシェルから動作しますが、clock.pyファイルから実行すると「コマンドが見つかりません」というエラーで失敗します。send_queued_email.py ファイルが本来あるべき場所にあることがはっきりとわかります。実行するpython manage.py help
と、利用可能なコマンドとして 1send_queued_email` が表示されます。どういうわけか、clock.py からコマンドを実行すると、heroku がコマンドを気に入らなくなります。