← DokArh Portal
fix

P0 Fix — invoicing chain push nije await (ZAKON 3 narušen)

Kreator: genesis Datum: Status: TODO
WeisE3™ ID: (nema)
tipfix
serverMAR (212.227.181.201), /var/www/fenix-v4/
probleminvoicing/service.py koristi asyncio.create_task(_chain_push()) — fire-and-forget. Ako chain push padne, račun je u bazi ali NIJE u chain-u. ZAKON 3 narušen (trojna pohrana mora biti atomarna).
fajlovi[ "/var/www/fenix-v4/invoicing/service.py", "/var/www/fenix-v4/invoicing/router.py" ]
fix{ "staro": "asyncio.create_task(_chain_push(tip, sjeme))", "novo": "await _chain_push(tip, sjeme) + Redis retry queue na grešci", "pattern": "try: await _chain_push() except: await redis.xadd('genesis:chain:retry', {...}) — NE bacaj grešku korisniku, račun JE sačuvan u bazi" }
zakon[ "ZAKON_3", "ZAKON_2", "ZAKON_32" ]
statusTODO