Megosztás a következőn keresztül:


ServiceBusSession Osztály

A ServiceBusSession a munkamenet-állapotok kezelésére és a megújítás zárolására szolgál.

A ServiceBusReceiver tulajdonságával session kérje le a megfelelő ServiceBusSession objektumot a vevővel összekapcsolva ahelyett, hogy közvetlenül példányosítanának egy ServiceBusSession objektumot.

Öröklődés
azure.servicebus._servicebus_session.BaseSession
ServiceBusSession

Konstruktor

ServiceBusSession(session_id: str, receiver: ServiceBusReceiver | ServiceBusReceiverAsync)

Paraméterek

session_id
receiver

Példák

Munkamenet lekérése fogadóból


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session

Metódusok

get_state

Kérje le a munkamenet állapotát.

Nincs értéket ad vissza, ha nincs beállítva állapot.

renew_lock

Újítsa meg a munkamenet-zárolást.

Ezt a műveletet rendszeres időközönként végre kell hajtani, hogy megőrizze a munkamenet zárolását az üzenetfeldolgozás folytatásához.

A zárolás megszűnése után a kapcsolat lezárul; lejárt zárolást nem lehet megújítani.

Ez a művelet szálba rendezett háttérfeladatként is végrehajtható, ha regisztrálja a munkamenetet egy azure.servicebus.aio.AutoLockRenewer-példányban .

set_state

Állítsa be a munkamenet állapotát.

get_state

Kérje le a munkamenet állapotát.

Nincs értéket ad vissza, ha nincs beállítva állapot.

async get_state(*, timeout: float | None = None, **kwargs: Any) -> bytes

Paraméterek

timeout
Optional[float]

A művelet teljes időtúllépése másodpercben, beleértve az összes újrapróbálkozási műveletet. Ha meg van adva, az értéknek 0-nál nagyobbnak kell lennie. Az alapértelmezett érték Nincs, ami azt jelenti, hogy nincs időtúllépés.

Válaszok

A munkamenet állapota.

Visszatérési típus

Példák

A munkamenet állapotának lekérése


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           session_state = await session.get_state()

renew_lock

Újítsa meg a munkamenet-zárolást.

Ezt a műveletet rendszeres időközönként végre kell hajtani, hogy megőrizze a munkamenet zárolását az üzenetfeldolgozás folytatásához.

A zárolás megszűnése után a kapcsolat lezárul; lejárt zárolást nem lehet megújítani.

Ez a művelet szálba rendezett háttérfeladatként is végrehajtható, ha regisztrálja a munkamenetet egy azure.servicebus.aio.AutoLockRenewer-példányban .

async renew_lock(*, timeout: float | None = None, **kwargs: Any) -> datetime

Paraméterek

timeout
Optional[float]

A művelet teljes időtúllépése másodpercben, beleértve az összes újrapróbálkozási műveletet. Ha meg van adva, az értéknek 0-nál nagyobbnak kell lennie. Az alapértelmezett érték Nincs, ami azt jelenti, hogy nincs időtúllépés.

Válaszok

A zárolás utc datetime értéke a következő időpontra van beállítva: .

Visszatérési típus

Példák

A munkamenet-zárolás megújítása a lejárat előtt


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           await session.renew_lock()

set_state

Állítsa be a munkamenet állapotát.

async set_state(state: str | bytes | bytearray | None, *, timeout: float | None = None, **kwargs: Any) -> None

Paraméterek

state
str vagy bytes vagy bytearray vagy None
Kötelező

Az állapotérték.

timeout
float vagy None

A művelet teljes időtúllépése másodpercben, beleértve az összes újrapróbálkozási műveletet. Ha meg van adva, az értéknek 0-nál nagyobbnak kell lennie. Az alapértelmezett érték Nincs, ami azt jelenti, hogy nincs időtúllépés.

Válaszok

Visszahívás válasza

Visszatérési típus

any

Példák

A munkamenet állapotának beállítása


       async with servicebus_client.get_queue_receiver(queue_name=queue_name, session_id=session_id) as receiver:
           session = receiver.session
           await session.set_state("START")

Attribútumok

locked_until_utc

Az az időpont, amikor a munkamenet zárolása lejár.

Visszatérési típus

session_id

Az aktuális munkamenet munkamenet-azonosítója.

Visszatérési típus

str