Linux Служба запущена Python скрипт не обновляет SQL базу - PullRequest
0 голосов
/ 10 июля 2020

У меня есть сценарий python, который сканирует фондовый рынок на предмет транзакций и сохраняет их в базе данных SQL. Скрипт работает сам по себе, если я запустил его напрямую python3 fetchTradesLuno24Hours.py, и это обновит базу данных. Однако, если я запускаю его как службу, он перестает обновлять базу данных. Если я запускаю systemctl status lunoDatabase.service, это показывает, что служба успешно запущена. Служба запускается lunoDatabase.timer, который запускает ее каждые несколько часов. Если я запускаю systemctl status lunoDatabase.timer или systemctl list-timers, я вижу, что таймер работает и сценарий запускается успешно. Служба сообщает, что время выполнения сценария python соответствует ожиданиям (около 6 минут) и код успешно завершен. Раньше я пытался запустить сценарий python в бесконечном l oop, и он работал нормально, и база данных была правильно обновлена ​​из службы. Когда я добавил таймер, он перестал обновлять базу данных. Я хочу, чтобы служба обновляла базу данных SQL и запускалась по таймеру. Как я могу это исправить?

1 Ответ

0 голосов
/ 10 июля 2020

Проблема была в скрипте python. Поскольку я обращаюсь к файлу python из папки root, я должен был указать абсолютный путь к базе данных в database.py.

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

, а не

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

Всем спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...