diff options
author | Erik Johnston <erik@matrix.org> | 2020-02-27 16:33:21 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-27 16:33:21 +0000 |
commit | 2201bc979588720bd99880b9cd8df2292b2d483f (patch) | |
tree | 090e67e0037c68c27b54d9c5a3a3e7c7d4995445 | |
parent | set worker_app for frontend proxy test (#7003) (diff) | |
download | synapse-2201bc979588720bd99880b9cd8df2292b2d483f.tar.xz |
Don't refuse to start worker if media listener configured. (#7002)
Instead lets just warn if the worker has a media listener configured but has the media repository disabled. Previously non media repository workers would just ignore the media listener.
-rw-r--r-- | changelog.d/7002.misc | 1 | ||||
-rw-r--r-- | synapse/app/generic_worker.py | 34 |
2 files changed, 21 insertions, 14 deletions
diff --git a/changelog.d/7002.misc b/changelog.d/7002.misc new file mode 100644 index 0000000000..ec5c004bbe --- /dev/null +++ b/changelog.d/7002.misc @@ -0,0 +1 @@ +Merge worker apps together. diff --git a/synapse/app/generic_worker.py b/synapse/app/generic_worker.py index 30efd39092..b2c764bfe8 100644 --- a/synapse/app/generic_worker.py +++ b/synapse/app/generic_worker.py @@ -494,20 +494,26 @@ class GenericWorkerServer(HomeServer): elif name == "federation": resources.update({FEDERATION_PREFIX: TransportLayerServer(self)}) elif name == "media": - media_repo = self.get_media_repository_resource() - - # We need to serve the admin servlets for media on the - # worker. - admin_resource = JsonResource(self, canonical_json=False) - register_servlets_for_media_repo(self, admin_resource) - - resources.update( - { - MEDIA_PREFIX: media_repo, - LEGACY_MEDIA_PREFIX: media_repo, - "/_synapse/admin": admin_resource, - } - ) + if self.config.can_load_media_repo: + media_repo = self.get_media_repository_resource() + + # We need to serve the admin servlets for media on the + # worker. + admin_resource = JsonResource(self, canonical_json=False) + register_servlets_for_media_repo(self, admin_resource) + + resources.update( + { + MEDIA_PREFIX: media_repo, + LEGACY_MEDIA_PREFIX: media_repo, + "/_synapse/admin": admin_resource, + } + ) + else: + logger.warning( + "A 'media' listener is configured but the media" + " repository is disabled. Ignoring." + ) if name == "openid" and "federation" not in res["names"]: # Only load the openid resource separately if federation resource |