mirror of
https://github.com/element-hq/synapse.git
synced 2024-12-15 17:51:10 +00:00
Merge pull request #5412 from SohamG/fix-4130
Add --no-daemonize option to synctl
This commit is contained in:
commit
6d1e699b5c
2 changed files with 17 additions and 3 deletions
1
changelog.d/5412.feature
Normal file
1
changelog.d/5412.feature
Normal file
|
@ -0,0 +1 @@
|
|||
Add --no-daemonize option to run synapse in the foreground, per issue #4130. Contributed by Soham Gumaste.
|
19
synctl
19
synctl
|
@ -69,10 +69,14 @@ def abort(message, colour=RED, stream=sys.stderr):
|
|||
sys.exit(1)
|
||||
|
||||
|
||||
def start(configfile):
|
||||
def start(configfile, daemonize=True):
|
||||
write("Starting ...")
|
||||
args = SYNAPSE
|
||||
args.extend(["--daemonize", "-c", configfile])
|
||||
|
||||
if daemonize:
|
||||
args.extend(["--daemonize", "-c", configfile])
|
||||
else:
|
||||
args.extend(["-c", configfile])
|
||||
|
||||
try:
|
||||
subprocess.check_call(args)
|
||||
|
@ -143,12 +147,21 @@ def main():
|
|||
help="start or stop all the workers in the given directory"
|
||||
" and the main synapse process",
|
||||
)
|
||||
parser.add_argument(
|
||||
"--no-daemonize",
|
||||
action="store_false",
|
||||
help="Run synapse in the foreground for debugging. "
|
||||
"Will work only if the daemonize option is not set in the config."
|
||||
)
|
||||
|
||||
options = parser.parse_args()
|
||||
|
||||
if options.worker and options.all_processes:
|
||||
write('Cannot use "--worker" with "--all-processes"', stream=sys.stderr)
|
||||
sys.exit(1)
|
||||
if options.no_daemonize and options.all_processes:
|
||||
write('Cannot use "--no-daemonize" with "--all-processes"', stream=sys.stderr)
|
||||
sys.exit(1)
|
||||
|
||||
configfile = options.configfile
|
||||
|
||||
|
@ -276,7 +289,7 @@ def main():
|
|||
# Check if synapse is already running
|
||||
if os.path.exists(pidfile) and pid_running(int(open(pidfile).read())):
|
||||
abort("synapse.app.homeserver already running")
|
||||
start(configfile)
|
||||
start(configfile, bool(options.no_daemonize))
|
||||
|
||||
for worker in workers:
|
||||
env = os.environ.copy()
|
||||
|
|
Loading…
Reference in a new issue