2009-07-09 93 views
3

我正在嘗試開發使用pinax的站點。 索引使用djapian模型我一直在試圖運行「manage.py指數」作爲cron作業,但總是收到pinax錯誤。 「錯誤:無模塊名稱通知」。但是,當我從shell運行它時,任務正確執行。我的crontab定義如下:
django「manage.py index」不作爲cron作業執行

SHELL=/bin/sh 
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/mypath/test_project 

# m h dom mon dow user command 
*/1 * * * * root python /root/mypath/test_project/manage.py index >>/tmp/backup.log 2>&1 

任何人都可以解釋爲什麼我收到此錯誤嗎?

回答

6

你的錯誤可能是因爲你沒有你的PYTHONPATH設置正確,尤其是包括路徑「通知」模塊。您還需要設置DJANGO_SETTINGS_MODULE路徑,如果它尚未在您的環境中設置。

這裏有一個shell腳本,我用它來換我自己的Django基於的cron任務:

#!/bin/sh 
DJANGO_SETTINGS_MODULE=mysettings 
export DJANGO_SETTINGS_MODULE 

PYTHONPATH=/path/to/python_libs:/path/to/my_django_apps 
export PYTHONPATH 

/path/to/python /path/to/my_django_script 
+0

ars感謝您的回覆。以您的建議爲指導,我解決了這個問題。 – kartikq 2009-07-09 14:56:38

0

由於ARS提到的,用的cron完全不同的設置環境變量的比你運行。解決這個問題的最簡單方法是使用類似於他發佈的腳本。