Skip to content
This repository was archived by the owner on Apr 26, 2024. It is now read-only.

Commit edec0b9

Browse files
authored
Only use literal strings for process names (#16315)
1 parent 3295970 commit edec0b9

File tree

4 files changed

+11
-14
lines changed

4 files changed

+11
-14
lines changed

changelog.d/16315.misc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Only use literal strings for background process names.

synapse/appservice/scheduler.py

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -200,9 +200,7 @@ def start_background_request(self, service: ApplicationService) -> None:
200200
if service.id in self.requests_in_flight:
201201
return
202202

203-
run_as_background_process(
204-
"as-sender-%s" % (service.id,), self._send_request, service
205-
)
203+
run_as_background_process("as-sender", self._send_request, service)
206204

207205
async def _send_request(self, service: ApplicationService) -> None:
208206
# sanity-check: we shouldn't get here if this service already has a sender
@@ -478,14 +476,11 @@ def __init__(
478476
self.backoff_counter = 1
479477

480478
def recover(self) -> None:
481-
def _retry() -> None:
482-
run_as_background_process(
483-
"as-recoverer-%s" % (self.service.id,), self.retry
484-
)
485-
486479
delay = 2**self.backoff_counter
487480
logger.info("Scheduling retries on %s in %fs", self.service.id, delay)
488-
self.clock.call_later(delay, _retry)
481+
self.clock.call_later(
482+
delay, run_as_background_process, "as-recoverer", self.retry
483+
)
489484

490485
def _backoff(self) -> None:
491486
# cap the backoff to be around 8.5min => (2^9) = 512 secs

synapse/metrics/background_process_metrics.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,9 @@
4848
if TYPE_CHECKING:
4949
import resource
5050

51+
# Old versions don't have `LiteralString`
52+
from typing_extensions import LiteralString
53+
5154

5255
logger = logging.getLogger(__name__)
5356

@@ -191,7 +194,7 @@ def update_metrics(self) -> None:
191194

192195

193196
def run_as_background_process(
194-
desc: str,
197+
desc: "LiteralString",
195198
func: Callable[..., Awaitable[Optional[R]]],
196199
*args: Any,
197200
bg_start_span: bool = True,
@@ -259,7 +262,7 @@ async def run() -> Optional[R]:
259262

260263

261264
def wrap_as_background_process(
262-
desc: str,
265+
desc: "LiteralString",
263266
) -> Callable[
264267
[Callable[P, Awaitable[Optional[R]]]],
265268
Callable[P, "defer.Deferred[Optional[R]]"],

synapse/util/caches/expiringcache.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -84,9 +84,7 @@ def __init__(
8484
return
8585

8686
def f() -> "defer.Deferred[None]":
87-
return run_as_background_process(
88-
"prune_cache_%s" % self._cache_name, self._prune_cache
89-
)
87+
return run_as_background_process("prune_cache", self._prune_cache)
9088

9189
self._clock.looping_call(f, self._expiry_ms / 2)
9290

0 commit comments

Comments
 (0)