Ver código fonte

Only use literal strings for process names (#16315)

tags/v1.93.0rc1
Erik Johnston 8 meses atrás
committed by GitHub
pai
commit
edec0b93ca
Nenhuma chave conhecida encontrada para esta assinatura no banco de dados ID da chave GPG: 4AEE18F83AFDEB23
4 arquivos alterados com 11 adições e 14 exclusões
  1. +1
    -0
      changelog.d/16315.misc
  2. +4
    -9
      synapse/appservice/scheduler.py
  3. +5
    -2
      synapse/metrics/background_process_metrics.py
  4. +1
    -3
      synapse/util/caches/expiringcache.py

+ 1
- 0
changelog.d/16315.misc Ver arquivo

@@ -0,0 +1 @@
Only use literal strings for background process names.

+ 4
- 9
synapse/appservice/scheduler.py Ver arquivo

@@ -200,9 +200,7 @@ class _ServiceQueuer:
if service.id in self.requests_in_flight:
return

run_as_background_process(
"as-sender-%s" % (service.id,), self._send_request, service
)
run_as_background_process("as-sender", self._send_request, service)

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

def recover(self) -> None:
def _retry() -> None:
run_as_background_process(
"as-recoverer-%s" % (self.service.id,), self.retry
)

delay = 2**self.backoff_counter
logger.info("Scheduling retries on %s in %fs", self.service.id, delay)
self.clock.call_later(delay, _retry)
self.clock.call_later(
delay, run_as_background_process, "as-recoverer", self.retry
)

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


+ 5
- 2
synapse/metrics/background_process_metrics.py Ver arquivo

@@ -48,6 +48,9 @@ from synapse.metrics._types import Collector
if TYPE_CHECKING:
import resource

# Old versions don't have `LiteralString`
from typing_extensions import LiteralString


logger = logging.getLogger(__name__)

@@ -191,7 +194,7 @@ R = TypeVar("R")


def run_as_background_process(
desc: str,
desc: "LiteralString",
func: Callable[..., Awaitable[Optional[R]]],
*args: Any,
bg_start_span: bool = True,
@@ -259,7 +262,7 @@ P = ParamSpec("P")


def wrap_as_background_process(
desc: str,
desc: "LiteralString",
) -> Callable[
[Callable[P, Awaitable[Optional[R]]]],
Callable[P, "defer.Deferred[Optional[R]]"],


+ 1
- 3
synapse/util/caches/expiringcache.py Ver arquivo

@@ -84,9 +84,7 @@ class ExpiringCache(Generic[KT, VT]):
return

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

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



Carregando…
Cancelar
Salvar