improve sleep. add error logging to db

master
Egg 2023-06-22 08:14:30 +02:00
parent 8784a0abf0
commit d584cb7d79
3 changed files with 7 additions and 6 deletions

View File

@ -89,7 +89,7 @@ class TelegramBot(Bot):
try:
for subscriber_id in user.get_telegram_subscribers():
tb.send_message(subscriber_id, text).wait()
sleep(0.1)
sleep(0.5)
except Exception:
logger.error('Error telegramming: ' + user.get_city() + ': '
+ str(report.id), exc_info=True)

View File

@ -34,15 +34,14 @@ if __name__ == '__main__':
while True:
for user in db.active_users:
for bot in bots:
sleep(0.1)
sleep(5)
reports = bot.crawl(user)
for status in reports:
sleep(0.1)
if not user.is_appropriate(status):
logger.info("Inaproppriate message: %d %s %s" % (user.uid, status.author, status.text))
continue
for bot2 in bots:
sleep(0.1)
sleep(1)
bot2.post(user, status)
logger.info("Resent: %d %s %s" % (user.uid, status.author, status.text))
except Exception:

6
db.py
View File

@ -25,12 +25,14 @@ class DB(object):
try:
self.conn.commit()
break
except sqlite3.OperationalError:
except sqlite3.OperationalError as error:
# another thread may be writing, give it a chance to finish
sleep(0.1)
sleep(0.5)
logger.exception()
if time() - start_time > 5:
# if it takes this long, something is wrong
system("rcctl restart frontend_daemon")
logger.warning("frontend_daemon is getting restarted")
self.conn.commit()
def close(self):