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

Reply via email to