我的clock.py在下面。我可以整天使用heroku run python manage.py send_queued_mail
,但在clock.py文件中包括run python manage.py send_queued_mail
會導致語法錯誤。爲什麼「heroku運行python manage.py send_queued_mail」是從命令行工作的,而不是在Heroku的clock.py文件中工作?
clock.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
編輯:從在Heroku蟒殼 management.call_command('send_queued_mail')
工作,但失敗,出現「找不到命令「當我從clock.py文件運行它時出錯。我可以清楚地看到send_queued_email.py文件應該在哪裏。如果我運行python manage.py help
我可以看到1send_queued_email`作爲一個可用的命令。不知怎的,從clock.py運行命令導致heroku不喜歡命令。
謝謝。至少沒有讓我的Heroku工人崩潰。但我仍然得到一個錯誤,如下所示:2014-01-24T02:20:31.834713 + 00:00 app [clock.1]:沒有處理程序可以找到記錄器「apscheduler.scheduler」 – user2916527
我添加「從django.core。管理導入call_command 導入日誌記錄「但我仍然收到錯誤:CommandError:未知的命令:'send_queued_mail' – user2916527
@ user2916527:'send_queued_mail'是一個有效的管理命令嗎?當它從命令行運行時它是否工作? – mipadi