Awight has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/344979 )
Change subject: zero-argument mode from cron-generate ...................................................................... zero-argument mode from cron-generate Get all config from config. Change-Id: If4a11ce00c1091b58a37dfbad0792cb60312da53 --- M bin/cron-generate M process-control.example.yaml M processcontrol/config.py 3 files changed, 13 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/process-control refs/changes/79/344979/1 diff --git a/bin/cron-generate b/bin/cron-generate index cfd6875..bdf0873 100755 --- a/bin/cron-generate +++ b/bin/cron-generate @@ -1,23 +1,22 @@ #!/usr/bin/python from __future__ import print_function -import argparse import sys from processcontrol import crontab +from processcontrol import config if __name__ == "__main__": - parser = argparse.ArgumentParser(description="Generate a crontab from a directory of schedulable jobs.") - # TODO: Get defaults from config. - parser.add_argument("-d", "--job-directory", help="Job specification directory", type=str, required=True) - parser.add_argument("-O", "--output-file", help="Crontab output path", type=str) - args = parser.parse_args() - if args.output_file and args.output_file != "-": - out = open(args.output_file, "w") else: - out = sys.stdout cron_text = crontab.make_cron(args.job_directory) + + output_file = config.GlobalConfig().get("output_crontab") + if output_file == 'console': + out = sys.stdout + else: + out = open(args.output_file, "w") + print(cron_text, file=out) diff --git a/process-control.example.yaml b/process-control.example.yaml index 323a1fd..6429a2c 100644 --- a/process-control.example.yaml +++ b/process-control.example.yaml @@ -19,6 +19,9 @@ timeout: 600 +# Output file path. +output_crontab: /etc/cron.d/process-control + # Log directory for job output and errors. A timestamped log file is written # for each run, like: # /var/log/process-control/jobname/jobname-20170401-235959.log diff --git a/processcontrol/config.py b/processcontrol/config.py index a25d1dc..c8b520c 100644 --- a/processcontrol/config.py +++ b/processcontrol/config.py @@ -43,7 +43,7 @@ class GlobalConfiguration(Configuration): - global_config_path = "/etc/fundraising/process-control.yaml" + global_config_path = "/etc/process-control.yaml" def __init__(self): Configuration.__init__(self) @@ -62,6 +62,7 @@ def validate_global_config(self): assert "cron_template" in self.values + assert "output_crontab" in self.values assert "output_directory" in self.values assert "runner_path" in self.values assert "user" in self.values -- To view, visit https://gerrit.wikimedia.org/r/344979 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If4a11ce00c1091b58a37dfbad0792cb60312da53 Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/process-control Gerrit-Branch: master Gerrit-Owner: Awight <awi...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits