Ajutor la interviu
Pregătirea interviului
Reluați
Căutare de locuri de muncă
Resurse
Abonament
RO
Telegramă
Autentificare
Deschide meniul
Ajutor la interviu
Asistent AI
Extensia browser
Analiza interviurilor
Resurse
Descărcați
Întrebări frecvente / Ajutor
Pregătirea interviului
Banca de întrebări
Interviu banca
Interviuri simulate
Mentori
Resurse
Întrebări frecvente / Ajutor
Căutare de locuri de muncă
Automatizare căutare locuri de muncă
Analiza pietei
Locuri de muncă din Telegram
Companii
Resurse
Cariere
Blog
Întrebări frecvente / Documentație
Blog Telegram
Suport Telegram
Legal
Rambursare
Termeni
Confidențialitate
Titularii de drepturi
Înapoi la întrebări
Banca de întrebări
Python - Dezvoltator
Întrebare
Middle
import json din fastapi import APIRouter, Depends din sqlalchemy import select din sqlalchemy.ext.asyncio import AsyncSession din redis import Redis din src.infrastructure.storage.db.models.product import ProductDB din src.infrastructure.storage.db.models.factory import FactoryDB router = APIRouter() redis = Redis.from_url("redis://localhost:6379/0") @router.get("/products/serials") async def get_serials_by_ids( ids: str, db: AsyncSession = Depends(get_db), ): product_ids = [int(x) for x in ids.split(",")] items = [] for product_id in product_ids: raw = redis.get(f"serial:{product_id}") if raw: items.append(json.loads(raw)) continue product = await db.get(ProductDB, product_id) factory = ( await db.execute(select(FactoryDB).where(FactoryDB.code == product.factory)) ).scalar_one() item = { "id": product.id, "serial_number": product.serial_number, "factory_number": factory.number, } redis.set(f"serial:{product_id}", json.dumps(item)) items.append(item) await db.commit() return items
Marcați ca finalizat
Anterior
În continuare