From b29517bd013b82302b1a73072da8bfc39564dc1a Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Thu, 30 Oct 2014 01:21:33 +0000 Subject: Add a request-id to each log line --- synapse/app/homeserver.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'synapse/app') diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 6394bc27d1..4e74f4d14c 100755 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -33,6 +33,7 @@ from synapse.api.urls import ( ) from synapse.config.homeserver import HomeServerConfig from synapse.crypto import context_factory +from synapse.util.logcontext import LoggingContext from daemonize import Daemonize import twisted.manhole.telnet @@ -240,7 +241,7 @@ def setup(): daemon = Daemonize( app="synapse-homeserver", pid=config.pid_file, - action=reactor.run, + action=run, auto_close_fds=False, verbose=True, logger=logger, @@ -250,6 +251,13 @@ def setup(): else: reactor.run() +def run(): + with LoggingContext("run") as context: + reactor.run() + +def main(): + with LoggingContext("main") as context: + setup() if __name__ == '__main__': - setup() + main() -- cgit 1.5.1 From 7a756e5d9d4c5a636d13b0959b72bc4d1518c5be Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Thu, 30 Oct 2014 11:15:39 +0000 Subject: Remove unused 'context' variables to appease pyflakes --- synapse/app/homeserver.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'synapse/app') diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 4e74f4d14c..17926be88c 100755 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -252,11 +252,11 @@ def setup(): reactor.run() def run(): - with LoggingContext("run") as context: + with LoggingContext("run"): reactor.run() def main(): - with LoggingContext("main") as context: + with LoggingContext("main"): setup() if __name__ == '__main__': -- cgit 1.5.1 From af7ae048f8868a58dc1b82a17ca701f28624b065 Mon Sep 17 00:00:00 2001 From: Erik Johnston Date: Mon, 3 Nov 2014 15:06:40 +0000 Subject: Add option to not bind to HTTPS port. This is useful if running behind an ssl load balancer --- demo/start.sh | 2 +- synapse/app/homeserver.py | 5 ++++- synapse/config/server.py | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'synapse/app') diff --git a/demo/start.sh b/demo/start.sh index fc6cd6303f..0530f0a26e 100755 --- a/demo/start.sh +++ b/demo/start.sh @@ -32,7 +32,7 @@ for port in 8080 8081 8082; do -D --pid-file "$DIR/$port.pid" \ --manhole $((port + 1000)) \ --tls-dh-params-path "demo/demo.tls.dh" \ - $PARAMS + $PARAMS $SYNAPSE_PARAMS python -m synapse.app.homeserver \ --config-path "demo/etc/$port.config" \ diff --git a/synapse/app/homeserver.py b/synapse/app/homeserver.py index 6394bc27d1..a20376b9d6 100755 --- a/synapse/app/homeserver.py +++ b/synapse/app/homeserver.py @@ -233,7 +233,10 @@ def setup(): f.namespace['hs'] = hs reactor.listenTCP(config.manhole, f, interface='127.0.0.1') - hs.start_listening(config.bind_port, config.unsecure_port) + bind_port = config.bind_port + if config.no_tls: + bind_port = None + hs.start_listening(bind_port, config.unsecure_port) if config.daemonize: print config.pid_file diff --git a/synapse/config/server.py b/synapse/config/server.py index 3afda12d5a..814a4c349b 100644 --- a/synapse/config/server.py +++ b/synapse/config/server.py @@ -30,6 +30,7 @@ class ServerConfig(Config): self.pid_file = self.abspath(args.pid_file) self.webclient = True self.manhole = args.manhole + self.no_tls = args.no_tls if not args.content_addr: host = args.server_name @@ -67,6 +68,8 @@ class ServerConfig(Config): server_group.add_argument("--content-addr", default=None, help="The host and scheme to use for the " "content repository") + server_group.add_argument("--no-tls", action='store_true', + help="Don't bind to the https port.") def read_signing_key(self, signing_key_path): signing_keys = self.read_file(signing_key_path, "signing_key") -- cgit 1.5.1 From e7c6d2c9d96124ce50940664bece4367dba0c972 Mon Sep 17 00:00:00 2001 From: Mark Haines Date: Thu, 13 Nov 2014 14:39:11 +0000 Subject: SYN-138: Rewrite synctl in python and include it in the python distribution --- setup.py | 1 + synapse/app/synctl.py | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ synctl | 35 --------------------------- 3 files changed, 67 insertions(+), 35 deletions(-) create mode 100755 synapse/app/synctl.py delete mode 100755 synctl (limited to 'synapse/app') diff --git a/setup.py b/setup.py index f5976cd762..7f46ce990f 100755 --- a/setup.py +++ b/setup.py @@ -55,6 +55,7 @@ setup( long_description=read("README.rst"), entry_points=""" [console_scripts] + synctl=synapse.app.synctl:main synapse-homeserver=synapse.app.homeserver:run """ ) diff --git a/synapse/app/synctl.py b/synapse/app/synctl.py new file mode 100755 index 0000000000..e85073b06b --- /dev/null +++ b/synapse/app/synctl.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python +# -*- coding: utf-8 -*- +# Copyright 2014 OpenMarket Ltd +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import sys +import os +import subprocess +import signal + +SYNAPSE = ["python", "-m", "synapse.app.homeserver"] + +CONFIGFILE="homeserver.yaml" +PIDFILE="homeserver.pid" + +GREEN="\x1b[1;32m" +NORMAL="\x1b[m" + +def start(): + if not os.path.exists(CONFIGFILE): + sys.stderr.write( + "No config file found\n" + "To generate a config file, run '%s -c %s --generate-config" + " --server-name='\n" % ( + " ".join(SYNAPSE), CONFIGFILE + ) + ) + sys.exit(1) + print "Starting ...", + args = SYNAPSE + args.extend(["--daemonize", "-c", CONFIGFILE, "--pid-file", PIDFILE]) + subprocess.check_call(args) + print GREEN + "started" + NORMAL + +def stop(): + if os.path.exists(PIDFILE): + pid = int(open(PIDFILE).read()) + os.kill(pid, signal.SIGTERM) + print GREEN + "stopped" + NORMAL + +def main(): + action = sys.argv[1] if sys.argv[1:] else "usage" + if action == "start": + start() + elif action == "stop": + stop() + elif action == "restart": + start() + stop() + else: + sys.stderr.write("Usage: %s [start|stop|restart]\n" % (sys.argv[0],)) + sys.exit(1) + +if __name__=='__main__': + main() diff --git a/synctl b/synctl deleted file mode 100755 index c227a9e1e4..0000000000 --- a/synctl +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/bash - -SYNAPSE="python -m synapse.app.homeserver" - -CONFIGFILE="homeserver.yaml" -PIDFILE="homeserver.pid" - -GREEN=$'\e[1;32m' -NORMAL=$'\e[m' - -set -e - -case "$1" in - start) - if [ ! -f "$CONFIGFILE" ]; then - echo "No config file found" - echo "To generate a config file, run '$SYNAPSE -c $CONFIGFILE --generate-config --server-name='" - exit 1 - fi - - echo -n "Starting ..." - $SYNAPSE --daemonize -c "$CONFIGFILE" --pid-file "$PIDFILE" - echo "${GREEN}started${NORMAL}" - ;; - stop) - echo -n "Stopping ..." - test -f $PIDFILE && kill `cat $PIDFILE` && echo "${GREEN}stopped${NORMAL}" - ;; - restart) - $0 stop && $0 start - ;; - *) - echo "Usage: $0 [start|stop|restart]" >&2 - exit 1 -esac -- cgit 1.5.1