【发布时间】:2014-02-25 19:25:27
【问题描述】:
我正在使用 csvimporter 将一些 csv 文件导入 Django 模型。我有 2 个脚本 - 一个用于获取文件的 python 脚本:
import subprocess
subprocess.call("python manage.py csvimport --model='csv_reader.csv' /Users/path_to_csv", shell = True)
还有一个用于从模型中删除对象的 django 脚本:
from csv_reader.models import *
csv.objects.all().delete()
从 shell 手动运行时,这两个脚本都可以正常工作。但是当我添加一个 cron 作业来执行脚本时,它不起作用,尽管它会将它们记录在 cron 日志中:
Feb 25 10:21:00 Liubous-MacBook-Pro.local /usr/sbin/cron[43055]: (yudasinal1) CMD (/Users/path_to_script)
我尝试像这样添加一个 cronjob:
DJANGO_SETTINGS_MODULE=project.settings
* * * * * /Users/path_to_csv/test_subprocess.py
在实际脚本中,我在文件顶部添加了#!/usr/bin/env python。
以及我尝试添加此 cronjob:
DJANGO_SETTINGS_MODULE=project.settings
* * * * * python /Users/path_to_csv/test_subprocess.py
所有这些都记录到 cron 日志中,但不幸的是,实际功能没有被执行。
任何帮助将不胜感激!
【问题讨论】:
-
用芹菜代替:)
-
一开始我在考虑使用 celery,但后来我想也许这两个简单的操作 celery 可能太多了,因为它提供的不仅仅是调度任务
-
(9 小时后)如果你仍然有这个问题,请考虑使用 celery :) 哈哈
-
@pleasedontbelong 我想你可能是对的 :P 现在试试芹菜哈哈