发送邮件的Crontab

2024-05-13 08:34:58 发布

您现在位置:Python中文网/ 问答频道 /正文

当我使用

python manage.py send_newsletter

它起作用了。 我的发送_新闻稿.py在

^{pr2}$

我创造了一个

sudo crontab -e

并将其放入crontab文件中:

*/5 * * * * cd /srv/apps/newsletter/actecil_newsletter && python manage.py send_newsletter

但如果有人知道如何修复它,它就不起作用了?在

编辑:我在crontab的日志中发现了这个错误

Traceback (most recent call last):
File "manage.py", line 9, in <module>
from django.core.management import execute_from_command_line
ImportError: No module named django.core.management

Tags: 文件djangofrompycoresendmanageline
3条回答

我终于找到了解决问题的方法谢谢大家的帮助。 在得到日志后(感谢johnzwinck),我把这个添加到我的管理.py在

sys.path.append('/path/to/django/apps_django_1_4')
sys.path.append('/path/to/django/apps_django_1_4/Django-1.4.3')
sys.path.append('%s/actecil_newsletter' % os.getcwd())
sys.path.append('%s/actecil_newsletter/actecil_newsletter' % os.getcwd())

这让它成功了,希望它能帮助别人,然后是我:)

谢谢大家

问题是在cron中运行的python无法访问django安装。关于这个有很多问题,Django是如何安装在您的系统中的?(使用SO包装、pip或手工….)。在

使用django-cron将使您的生活更轻松,简化您的开发并以django方式管理您的所有应用程序;)

小贴士:

  • 在Django开发中,必须使用virtualenv
  • 考虑阅读任务/队列作业,如Celery

您可以尝试以特定用户的身份运行cron作业吗?当我开始使用django时,我对django管理命令和cron作业也有问题。从那以后,我通常以特定用户的身份运行

*/5 * * * * su -l <user> -c cd /srv/apps/newsletter/actecil_newsletter && python manage.py send_newsletter

相关问题 更多 >