Skip to content
Snippets Groups Projects
Commit 8834396b authored by Erik Johnston's avatar Erik Johnston Committed by Richard van der Hoff
Browse files

Actuall set cache factors in workers

parent c2185f14
No related branches found
No related tags found
No related merge requests found
...@@ -111,7 +111,7 @@ def stop(pidfile, app): ...@@ -111,7 +111,7 @@ def stop(pidfile, app):
Worker = collections.namedtuple("Worker", [ Worker = collections.namedtuple("Worker", [
"app", "configfile", "pidfile", "cache_factor" "app", "configfile", "pidfile", "cache_factor", "cache_factors",
]) ])
...@@ -218,6 +218,10 @@ def main(): ...@@ -218,6 +218,10 @@ def main():
or pidfile or pidfile
) )
worker_cache_factor = worker_config.get("synctl_cache_factor") or cache_factor worker_cache_factor = worker_config.get("synctl_cache_factor") or cache_factor
worker_cache_factors = (
worker_config.get("synctl_cache_factors")
or cache_factors
)
daemonize = worker_config.get("daemonize") or config.get("daemonize") daemonize = worker_config.get("daemonize") or config.get("daemonize")
assert daemonize, "Main process must have daemonize set to true" assert daemonize, "Main process must have daemonize set to true"
...@@ -233,8 +237,10 @@ def main(): ...@@ -233,8 +237,10 @@ def main():
assert worker_daemonize, "In config %r: expected '%s' to be True" % ( assert worker_daemonize, "In config %r: expected '%s' to be True" % (
worker_configfile, "worker_daemonize") worker_configfile, "worker_daemonize")
worker_cache_factor = worker_config.get("synctl_cache_factor") worker_cache_factor = worker_config.get("synctl_cache_factor")
worker_cache_factors = worker_config.get("synctl_cache_factors", {})
workers.append(Worker( workers.append(Worker(
worker_app, worker_configfile, worker_pidfile, worker_cache_factor, worker_app, worker_configfile, worker_pidfile, worker_cache_factor,
worker_cache_factors,
)) ))
action = options.action action = options.action
...@@ -269,15 +275,19 @@ def main(): ...@@ -269,15 +275,19 @@ def main():
start(configfile) start(configfile)
for worker in workers: for worker in workers:
env = os.environ.copy()
if worker.cache_factor: if worker.cache_factor:
os.environ["SYNAPSE_CACHE_FACTOR"] = str(worker.cache_factor) os.environ["SYNAPSE_CACHE_FACTOR"] = str(worker.cache_factor)
for cache_name, factor in worker.cache_factors.iteritems():
os.environ["SYNAPSE_CACHE_FACTOR_" + cache_name.upper()] = str(factor)
start_worker(worker.app, configfile, worker.configfile) start_worker(worker.app, configfile, worker.configfile)
if cache_factor: # Reset env back to the original
os.environ["SYNAPSE_CACHE_FACTOR"] = str(cache_factor) os.environ.clear()
else: os.environ.update(env)
os.environ.pop("SYNAPSE_CACHE_FACTOR", None)
if __name__ == "__main__": if __name__ == "__main__":
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment