我使用免费的Heroku调度器插件完成两个任务。 (不到10分钟的小任务应由Heroku调度员轻松处理)。你知道吗
在日志中,我看到Heroku调度器正在执行,但它似乎什么也没做。你知道吗
这是我的任务_任务.py)地址:
from alchemy import db_session
from models import User
all_users = User.query.all()
for user in all_users:
if user.remind_email_sent == False:
print "SEND REMIND EMAIL HERE", user.id
setattr(user, "remind_email_sent", True)
db_session.commit()
日志:heroku调度程序已执行(但我看不到打印):
Aug 10 14:31:26 monteurzimmer-test app[api] notice Starting process with command `heroku run python my_task.py` by user scheduler@addons.heroku.com
Aug 10 14:31:32 monteurzimmer-test heroku[scheduler] notice Starting process with command `heroku run python my_task.py`
Aug 10 14:31:33 monteurzimmer-test heroku[scheduler] notice State changed from starting to up
Aug 10 14:31:34 monteurzimmer-test heroku[scheduler] notice State changed from up to complete
Aug 10 14:31:34 monteurzimmer-test heroku[scheduler] notice Process exited with status 127
编辑:
好的,确实有一个错误,在日志中我没有显示info
。错误显示在此处:
Aug 10 15:02:32 monteurzimmer-test app[scheduler] info bash: heroku: command not found
如果我通过herokucli手动运行脚本(heroku run python my_task.py
),它可以正常工作,当前6个用户的所有项都设置为True
那么为什么调度程序在这里不工作呢?确实有错误,请参见编辑。你知道吗
现在它是一个小的测试数据库,将来计划用它来代替打印给每个用户发送一封电子邮件,将会有几百个用户。你知道吗
我发现错误后,解决方法其实很简单。它告诉我:
这意味着heroku已经在执行bash,因此不知道heroku的命令。您已经在项目文件夹中,只需删除
heroku run
即可:这里需要注意的是:我花了很长时间才找到错误。我假设没有错误,因为我从不在日志中显示
info
内容(我使用LogDNA)。所以在这种情况下,你应该查看日志中的所有内容。你知道吗相关问题 更多 >
编程相关推荐