运行 Python 脚本的 Linux 服务不会更新 SQL 数据库



我有一个python脚本,可以扫描股票市场的交易并将它们保存在SQL数据库中。如果我直接python3 fetchTradesLuno24Hours.py运行它,该脚本会自行工作,这会更新数据库。但是,如果我将其作为服务运行,它将停止更新数据库。如果我运行systemctl status lunoDatabase.service则表明该服务已成功运行。该服务由每隔几个小时运行一次lunoDatabase.timer触发。如果我运行systemctl status lunoDatabase.timersystemctl list-timers我会看到计时器工作并且脚本成功触发。该服务报告 python 脚本运行时符合预期(大约 6 分钟),并且代码已成功退出。 在我尝试在无限循环中运行 python 脚本之前,它工作正常,并且数据库已从服务正确更新。当我添加计时器时,它停止更新数据库。我希望该服务更新 SQL 数据库并由计时器触发。我该如何解决这个问题?

问题出在 python 脚本中。由于我从根文件夹中处理 python 文件,因此我应该在database.py中指定数据库的绝对路径。

db = sqlite3.connect('home/user/bot/transactions.db')

而不是

db = sqlite3.connect('transactions.db')

谢谢大家!

最新更新