"""僵尸恢复服务""" from sqlalchemy import text from app.core.database import PgSession, MysqlSession from app.core.logger import log async def recover_job_zombie() -> None: """岗位清洗僵尸恢复:超时10分钟的 cleaning → pending""" async with PgSession() as pg: result = await pg.execute( text(""" UPDATE app_job_data SET clean_status = 'pending', clean_started_at = NULL WHERE clean_status = 'cleaning' AND clean_started_at < NOW() - INTERVAL '10 minutes' """) ) await pg.commit() affected = result.rowcount if affected > 0: log.info("岗位僵尸恢复:重置{}条数据", affected) async def recover_company_zombie() -> None: """公司补充僵尸恢复:超时10分钟的 status=3 → 0""" async with MysqlSession() as mysql: result = await mysql.execute( text(""" UPDATE bg_company SET status = 0, update_time = NOW() WHERE status = 3 AND update_time < NOW() - INTERVAL 10 MINUTE """) ) await mysql.commit() affected = result.rowcount if affected > 0: log.info("公司僵尸恢复:重置{}条数据", affected)