运行python脚本的linux服务不更新sql数据库

zf2sa74q  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(676)

我有一个python脚本,它扫描股票市场中的交易并将它们保存在sql数据库中。如果我直接运行脚本,它就可以自己工作 python3 fetchTradesLuno24Hours.py 这会更新数据库。但是,如果我将其作为服务运行,它将停止更新数据库。如果我跑了 systemctl status lunoDatabase.service 它表明服务成功运行。此服务由触发 lunoDatabase.timer 每隔几个小时运行一次。如果我跑了 systemctl status lunoDatabase.timer 或者 systemctl list-timers 我看到计时器工作,脚本被成功触发。服务报告python脚本运行时与预期一致(大约6分钟),代码成功退出。在我尝试在无限循环中运行python脚本之前,它运行得很好,并且从服务中正确更新了数据库。当我添加计时器时,它停止更新数据库。我想服务更新的sql数据库,并由定时器触发。我该怎么修?

3hvapo4f

3hvapo4f1#

问题出在python脚本中。因为我从根文件夹中寻址python文件,所以我应该指定数据库的绝对路径 database.py . db = sqlite3.connect('home/user/bot/transactions.db') 而不是 db = sqlite3.connect('transactions.db') 谢谢大家!

相关问题