Skip to content
Snippets Groups Projects
Commit 7cd34512 authored by Erik Johnston's avatar Erik Johnston
Browse files

When using synctl with workers, don't start the main synapse automatically

parent 07ab948c
Branches
Tags
No related merge requests found
Unreleased
==========
synctl no longer starts the main synapse when using ``-a`` option with workers.
A new worker file should be added with ``worker_app: synapse.app.homeserver``
Changes in synapse v0.26.0 (2018-01-05) Changes in synapse v0.26.0 (2018-01-05)
======================================= =======================================
......
...@@ -184,6 +184,9 @@ def main(): ...@@ -184,6 +184,9 @@ def main():
worker_configfiles.append(worker_configfile) worker_configfiles.append(worker_configfile)
if options.all_processes: if options.all_processes:
# To start the main synapse with -a you need to add a worker file
# with worker_app == "synapse.app.homeserver"
start_stop_synapse = False
worker_configdir = options.all_processes worker_configdir = options.all_processes
if not os.path.isdir(worker_configdir): if not os.path.isdir(worker_configdir):
write( write(
...@@ -200,14 +203,29 @@ def main(): ...@@ -200,14 +203,29 @@ def main():
with open(worker_configfile) as stream: with open(worker_configfile) as stream:
worker_config = yaml.load(stream) worker_config = yaml.load(stream)
worker_app = worker_config["worker_app"] worker_app = worker_config["worker_app"]
worker_pidfile = worker_config["worker_pid_file"] if worker_app == "synapse.app.homeserver":
worker_daemonize = worker_config["worker_daemonize"] # We need to special case all of this to pick up options that may
assert worker_daemonize, "In config %r: expected '%s' to be True" % ( # be set in the main config file or in this worker config file.
worker_configfile, "worker_daemonize") worker_pidfile = (
worker_cache_factor = worker_config.get("synctl_cache_factor") worker_config.get("worker_pid_file")
workers.append(Worker( or worker_config("pid_file")
worker_app, worker_configfile, worker_pidfile, worker_cache_factor, or pidfile
)) )
workers.append(Worker(
"synapse.app.homeserver",
worker_configfile,
worker_pidfile,
worker_config.get("synctl_cache_factor") or cache_factor,
))
else:
worker_pidfile = worker_config["worker_pid_file"]
worker_daemonize = worker_config["worker_daemonize"]
assert worker_daemonize, "In config %r: expected '%s' to be True" % (
worker_configfile, "worker_daemonize")
worker_cache_factor = worker_config.get("synctl_cache_factor")
workers.append(Worker(
worker_app, worker_configfile, worker_pidfile, worker_cache_factor,
))
action = options.action action = options.action
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment