首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Cron作业(python脚本)不写入json文件

Cron作业(python脚本)不写入json文件
EN

Stack Overflow用户
提问于 2019-05-23 20:16:49
回答 1查看 282关注 0票数 1

运行在亚马逊EC2上的Ubuntu机器18.04。我有一个python脚本,它轮询API并将结果写入同一目录中的一个json文件。我设置了一个cron作业,每5分钟运行一次。问题是作业正在运行,我在日志中看到了它,但文件并未写入。当我手动运行该脚本时,json文件会按预期编写。

文件夹和.py文件权限为775。

下面是crontab条目(我从sudo crontab -e访问它):

代码语言:javascript
运行
复制
*/5 * * * * ubuntu python3 /home/ununtu/var/www/html/api.py > 
/home/ubuntu/var/www/html/cron.log 2>&1

cron.log文件显示了python脚本的预期输出。/var/log/syslog显示:

代码语言:javascript
运行
复制
(root) CMD (ubuntu python3 /home/ununtu/var/www/html/api.py > 
/home/ubuntu/var/www/html/cron.log 2>&1) 

每隔五分钟。

请帮我弄清楚这一点。

EN

回答 1

Stack Overflow用户

发布于 2019-05-23 20:26:56

我也有同样的问题,但我无法解决它……

在我的例子中,我使用python库(BlockingScheduler)来解决它,并使用tmux在后台进程中执行它。

一个简单的用法示例:

代码语言:javascript
运行
复制
from apscheduler.schedulers.blocking import BlockingScheduler

def test():
    test_write = 'hello'
    with open('logs.txt', 'a') as f:
        f.write('test: {}\n'.format(test_write))


scheduler = BlockingScheduler()
scheduler.add_job(test, 'interval', seconds=5)

scheduler.start()

希望它能帮上忙!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56275039

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档