Files
rss-server/RssManager.py
2023-04-27 11:02:30 +08:00

35 lines
948 B
Python

from threading import Thread, Timer
from Rss import *
class RssManager():
def __init__(self, rss_options):
self.rss_list = [Rss(opt['id'], opt['type'], opt['url'], opt['result_handler']) for opt in rss_options]
self.running = False
def run(self):
try:
for rss in self.rss_list:
print('Info: start async run')
t = Thread(target=rss.run)
t.start()
except:
print('Error: unable to start thread')
print('Info: start sync run')
for rss in self.rss_list:
rss.run()
def start(self):
# self.run()
print('rss server start!!!')
self.running = True
self.run()
while self.running:
self.timer = Timer(3600, self.run)
self.timer.start()
self.timer.join()
def stop(self):
self.running = False