我试图将自定义django命令作为Heroku上的计划任务运行。我可以通过以下方式在本地执行自定义命令: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
我放在一个python脚本在/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
从django.conf
我敢肯定它是与我的PYTHON_PATH
或能见度Django的SETTINGS_MODULE
,但我不知道该如何解决这个问题。有人能指出我正确的方向吗?有没有更简单的方法来完成我在这里要做的事情?
非常感谢您的提示和建议提前! Heroku新手! :)
编辑:
每尼克斯的评论,我做了一些调整,并没有发现,我指定确切的蟒蛇路径,我没有得到过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 run bin/python bin/send_daily_email.py'''(vs.'''heroku run bin/send_daily_email.py)。我会修改我的答案,并显示我目前的回应,看看你是否可以帮助:)但我会说,所以你已经回答了这个问题。 – kturner