python - 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 文件
解决方案
很可能,问题是由于 crontab 使用绝对路径,因此生成的 csv 将在您的主目录中。要解决此问题,请使用 Pathlib 库获取绝对路径,然后您可以将其与所需的输出文件夹连接起来。
推荐阅读
- scala - 错误:未找到:值 PlayScala - sbt.compiler.EvalException:表达式中的类型错误
- java - 使用 vaadin Page.getCurrent().open() 方法时有没有办法传递参数?
- python - 如何使用 Luigi 将 SQL 表的特定列作为目标
- c# - 如何使用 EF Code First 在 Asp.Net MVC5 中定义不同类型的用户
- python-3.x - Mypy 迭代器和生成器有什么区别?
- python - 在 Python 中使用正则表达式替换括号
- c# - 为什么将 DateTime 传递给新的控制器方法时 TimeOfDay 属性会被截断?
- javascript - 如何使用 JavaScript 分隔数组以进行样式设置
- angular6 - 从一个组件导航到另一个组件,而无需在 Angular 6 中重新加载这两个组件
- ros - 是否可以从 ROS2 (Crystal) 中的不同包启动多个节点?