首页 > 解决方案 > Django Crontab 不写入 csv 文件

问题描述

我正在尝试在 django-crontab 中运行一些作业。它们已成功添加。这是代码片段。

CRONJOBS = [
    ('0 0 * * *', 'landingpage.my_crons.get_users','>> /home/root_user/scheduled_job.log'),
    ('0 0 * * *', 'landingpage.my_crons.data_collector'),
]

当我执行 crontab show 时出现 crons

8e70613793052f5793f86106c92994fe -> ('0 0 * * *', 'landingpage.my_crons.get_users', '>> /home/root_user/scheduled_job.log')
d72fb010328cdc02e4b984fdc5f7db05 -> ('0 0 * * *', 'landingpage.my_crons.data_collector')

当我使用哈希运行它们时,它们运行良好并且写入文件很好,但是当它们按计划运行时,它们不写入文件即使它是空的,但正在生成日志文件,这意味着作业正在运行,但它们无法写入文件由脚本生成。文件是基于 bigquery 数据的 csv 文件

标签: pythondjangocrondjango-cron

解决方案


很可能,问题是由于 crontab 使用绝对路径,因此生成的 csv 将在您的主目录中。要解决此问题,请使用 Pathlib 库获取绝对路径,然后您可以将其与所需的输出文件夹连接起来。


推荐阅读