@@ -122,20 +122,20 @@ async def _seq_at_or_before_version(
122122 session : AsyncSession ,
123123 task_id : str ,
124124 after : TaskVersion ,
125- owner : str | None ,
125+ owner : str ,
126126 ) -> int :
127127 """Seq to start polling from so nothing after `after` is missed."""
128128 if after .is_missing :
129129 return 0
130- conditions = [
131- self ._event_model .task_id == task_id ,
132- self ._event_model .task_version <= _as_int (after ),
133- ]
134- if owner is not None :
135- conditions .append (self ._event_model .owner == owner )
136130 stmt = (
137131 select (self ._event_model .seq )
138- .where (and_ (* conditions ))
132+ .where (
133+ and_ (
134+ self ._event_model .task_id == task_id ,
135+ self ._event_model .owner == owner ,
136+ self ._event_model .task_version <= _as_int (after ),
137+ )
138+ )
139139 .order_by (self ._event_model .seq .desc ())
140140 .limit (1 )
141141 )
@@ -151,7 +151,9 @@ async def subscribe( # type: ignore[override]
151151 ) -> AsyncGenerator [VersionedEvent , None ]:
152152 """Polls the log for events of `task_id` newer than `after`."""
153153 await self ._ensure_initialized ()
154- owner = self .owner_resolver (context ) if context is not None else None
154+ if context is None :
155+ context = ServerCallContext ()
156+ owner = self .owner_resolver (context )
155157 async with self ._session_maker () as session :
156158 cursor = await self ._seq_at_or_before_version (
157159 session , task_id , after , owner
@@ -160,19 +162,19 @@ async def subscribe( # type: ignore[override]
160162 while True :
161163 try :
162164 async with self ._session_maker () as session :
163- conditions = [
164- self ._event_model .task_id == task_id ,
165- self ._event_model .seq > cursor ,
166- ]
167- if owner is not None :
168- conditions .append (self ._event_model .owner == owner )
169165 stmt = (
170166 select (
171167 self ._event_model .seq ,
172168 self ._event_model .task_version ,
173169 self ._event_model .event_data ,
174170 )
175- .where (and_ (* conditions ))
171+ .where (
172+ and_ (
173+ self ._event_model .task_id == task_id ,
174+ self ._event_model .owner == owner ,
175+ self ._event_model .seq > cursor ,
176+ )
177+ )
176178 .order_by (self ._event_model .seq .asc ())
177179 )
178180 rows = (await session .execute (stmt )).all ()
0 commit comments