【问题标题】:Run python script in Django using crontab使用 crontab 在 Django 中运行 python 脚本
【发布时间】:2015-09-29 14:38:14
【问题描述】:

我的 Django 项目中有一个脚本需要每 5 分钟运行一次。

我正在使用 this cron module 运行我的脚本,名为“cron.py”,该脚本存在于 myproject/myapp/cron.py 中

但是当我运行服务器时,脚本根本没有运行(没有输出),但是当我执行上面链接中提到的“python manage.py crontab show”时,该作业正在显示。

此外,当我通过发出“python cron.py”显式运行并运行脚本时,它正在显示(通知程序是 myapp 的名称)

Traceback(最近一次调用最后一次):

文件“cron.py”,第 2 行,在

从 notifier.models 导入 *

ImportError: 没有名为 notifier.models 的模块

当我在 python 命令行上的 cron.py 中复制粘贴相同的代码并运行时,一切正常。

你能帮我找出正确的方向吗?我在互联网上到处找。

将 Python 2.7.10 和 Django 1.8 与 Postgresql DB 结合使用。

【问题讨论】:

  • 您可能需要在执行 cron 作业的用户上设置环境变量,以便它可以访问您应用程序中的所有 Django 文件。

标签: python django python-2.7 cron crontab


【解决方案1】:

检查您是否在正确的目录中,并且您可能在正确的虚拟环境中。

在您的 cron 脚本的顶部,您可能想要:

import os
os.chdir(os.path.dirname(__file__))

或者切换到应用的根目录。

【讨论】:

    猜你喜欢
    • 2021-09-10
    • 2015-10-05
    • 2017-12-16
    • 1970-01-01
    • 2021-08-05
    • 2016-06-18
    • 2017-11-11
    • 1970-01-01
    • 2022-01-05
    相关资源
    最近更新 更多