Skip to content

Commit cf95934

Browse files
committed
fix: resolve DetachedInstanceError in update_groups job
1 parent 1911191 commit cf95934

1 file changed

Lines changed: 12 additions & 10 deletions

File tree

bot_logic.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -412,23 +412,25 @@ async def update_group_url(context: ContextTypes.DEFAULT_TYPE, chat_id: str) ->
412412
async def _update_groups(context: ContextTypes.DEFAULT_TYPE):
413413
logger.info("Starting update_groups job")
414414
with get_session() as session:
415-
chats = list(session.query(Listable).filter_by(validated=True).all())
415+
chats = [(c.id, c.chat_id, c.name) for c in session.query(Listable).filter_by(validated=True).all()]
416416
logger.info(f"Found {len(chats)} groups to update")
417417

418-
for chat in chats:
418+
for chat_db_id, chat_chat_id, chat_name in chats:
419419
sleep(1)
420-
chat_id, url, validated = await update_group_url(context, chat.chat_id)
420+
chat_id, url, validated = await update_group_url(context, chat_chat_id)
421421
if not validated:
422-
logger.warning(f"Failed to update URL for group '{chat.name}'. De-validating.")
422+
logger.warning(f"Failed to update URL for group '{chat_name}'. De-validating.")
423423
with get_session() as session:
424-
c = session.query(Listable).filter_by(id=chat.id).first()
425-
c.validated = False
426-
await context.bot.send_message(chat_id=DC_GROUP_CHATID, text=f"El grupo {chat.name} murió 💀")
424+
c = session.query(Listable).filter_by(id=chat_db_id).first()
425+
if c:
426+
c.validated = False
427+
await context.bot.send_message(chat_id=DC_GROUP_CHATID, text=f"El grupo {chat_name} murió 💀")
427428
else:
428-
logger.info(f"Updating URL for group '{chat.name}'")
429+
logger.info(f"Updating URL for group '{chat_name}'")
429430
with get_session() as session:
430-
c = session.query(Listable).filter_by(id=chat.id).first()
431-
c.url = url
431+
c = session.query(Listable).filter_by(id=chat_db_id).first()
432+
if c:
433+
c.url = url
432434
logger.info("Finished update_groups job")
433435

434436

0 commit comments

Comments
 (0)