systemctl не запускает python скрипт, если он работает с файлом
Подскажите из-за чего может возникать следующая ситуация?
Если в .py файле есть ссылка, то просмотр статуса через команду systemctl status myparser.service выдаёт такую ошибку: systemctl service fails with: Main process exited, code=exited, status=1/FAILURE Если этим же файлом(/usr/bin/python3) запускать питоновский, то всё работает как надо. т.е. проблемы в логике .py файла не вижу конфигурация /etc/systemd/system/myparser.service
[Unit]
Description=Myparser
After=multi-user.target
[Service]
Type=idle
ExecStart=/usr/bin/python3 /root/first/study_pr/study_pars.py
Restart=always
[Install]
WantedBy=multi-user.target
Питоновского:
import requests
from bs4 import BeautifulSoup as bs
import time
def send_telegram(text: str):
token = "ТОКЕН_ТЕЛЕГОБОТА"
url = "https://api.telegram.org/bot"
channel_id = "КАНАЛ_ДЛЯ_БОТА"
url += token
method = url + "/sendMessage"
r = requests.post(method, data={
"chat_id": channel_id,
"text": text
})
if r.status_code != 200:
print(r.status_code)
raise Exception("post_text error")
#article_list_link = open('article_list_link.txt', 'r+')
all_list = []
#for line in article_list_link:
# all_list.append(line)
#article_list_link.close()
URL_TEMPLATE = "ССЫЛКА_ДЛЯ_ПАРСИНГА"
while True:
#article_list_link = open('article_list_link.txt', 'r+')
r = requests.get(URL_TEMPLATE)
soup = bs(r.text, "html.parser")
article_list = soup.find_all('h1', class_="post-title")
for name in article_list:
link = name.a['href']
if link not in all_list:
text_ar = name.text + name.a['href']
send_telegram(text_ar)
#article_list_link.write(link)
all_list.append(link)
else:
time.sleep(120)
time.sleep(60)
#article_list_link.close()
Изначально было желание, чтобы уже просмотренные парсером статьи, падали в текстовый файл. Чтобы при перезапуске парсера, не дублировать повторно новости. Но заставить работать демона через systemctl удалось только закоментировав файлы. Подскажите в чём может быть причина?
Сервер на Debian 9