Live Runner + Scope support#20
Conversation
The new runner uses `address` as an opaque blob
Registers the app as a runner with an orchestrator.
Also make price info optional
None of these have anything to do with orchestrators. Keep only small shims for backwards compatibility.
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
|
||
| async def _maybe_await(value: object) -> None: | ||
| if inspect.isawaitable(value): | ||
| await value |
|
|
||
| async def _maybe_await(value: None | Awaitable[None]) -> None: | ||
| if inspect.isawaitable(value): | ||
| await value |
| if wait_callback and (timeout is None or timeout > 0): | ||
| try: | ||
| await self.wait_callback(timeout=timeout) | ||
| except asyncio.TimeoutError: |
| if wait_callbacks and (timeout is None or timeout > 0): | ||
| try: | ||
| await self.wait_callbacks(timeout=timeout) | ||
| except asyncio.TimeoutError: |
| task.cancel() | ||
| try: | ||
| await task | ||
| except asyncio.CancelledError: |
| def _release_session_id(self, session_id: str) -> None: | ||
| try: | ||
| self._active_session_ids.remove(session_id) | ||
| except ValueError: |
|
|
||
|
|
||
| class LiveRunnerSessionHeaders(Protocol): | ||
| def get(self, key: str, default: str = "") -> str: ... |
| @dataclass(frozen=True) | ||
| class LiveRunnerPriceInfo: | ||
| price_per_unit: int | ||
| pixels_per_unit: int |
There was a problem hiding this comment.
@j0sh can we use something like unit_scale since this runner also allows different pricing schemes. Also see my pull request in go-liveper livepeer/go-livepeer#3942.
No description provided.