Ejegg has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/344046 )
Change subject: Move some things into global config ...................................................................... Move some things into global config Change-Id: I402b4f65af2c6a4e75edd5ebd787a2ebaf78c3cd --- M process-control.yaml M processcontrol/crontab.py M processcontrol/job_wrapper.py M processcontrol/mailer.py 4 files changed, 20 insertions(+), 25 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/wikimedia/fundraising/process-control refs/changes/46/344046/1 diff --git a/process-control.yaml b/process-control.yaml index 7084186..78f684e 100644 --- a/process-control.yaml +++ b/process-control.yaml @@ -1,3 +1,9 @@ +cron_template: "# Generated from {source}\n{schedule} {user} {command}\n" + default_job_config: - from_address: "Fail Mail <fr-t...@wikimedia.org>" - to_address: "fr-t...@wikimedia.org" + failmail: + from_address: "Fail Mail <fr-t...@wikimedia.org>" + to_address: "fr-t...@wikimedia.org" + + timeout: 600 + user: jenkins diff --git a/processcontrol/crontab.py b/processcontrol/crontab.py index c3d1703..e6d3ff9 100644 --- a/processcontrol/crontab.py +++ b/processcontrol/crontab.py @@ -3,14 +3,7 @@ import job_wrapper -# FIXME: Move to global config -DEFAULT_USER = "jenkins" - -CRON_TEMPLATE = """# Generated from {source} -{schedule} {user} {command} -""" - -RUNNER_PATH = os.path.dirname(__file__) + "/crash-override" +RUNNER_PATH = os.path.dirname(__file__) + "/bin/run-job" def make_cron(config_dir): @@ -45,11 +38,13 @@ command = "{runner} {conf}".format( runner=RUNNER_PATH, conf=self.job.config_path) + + template = self.job.global_config.get("cron_template") - out = CRON_TEMPLATE.format( + out = template.format( source=self.job.config_path, schedule=self.job.config.get("schedule"), - user=DEFAULT_USER, + user=self.job.config.get("user"), command=command) return out diff --git a/processcontrol/job_wrapper.py b/processcontrol/job_wrapper.py index 6b8423e..fefcf25 100644 --- a/processcontrol/job_wrapper.py +++ b/processcontrol/job_wrapper.py @@ -9,9 +9,6 @@ from . import lock from . import mailer -# FIXME: move to global config -DEFAULT_TIMEOUT = 600 - class JobWrapper(object): def __init__(self, config_path=None): @@ -22,11 +19,7 @@ self.name = self.config.get("name") self.start_time = datetime.datetime.utcnow().isoformat() self.mailer = mailer.Mailer(self.config) - - if self.config.has("timeout"): - self.timeout = self.config.get("timeout") - else: - self.timeout = DEFAULT_TIMEOUT + self.timeout = self.config.get("timeout") if self.config.has("disabled") and self.config.get("disabled") is True: self.enabled = False diff --git a/processcontrol/mailer.py b/processcontrol/mailer.py index 35e3a07..08bb432 100644 --- a/processcontrol/mailer.py +++ b/processcontrol/mailer.py @@ -4,7 +4,8 @@ class Mailer(object): def __init__(self, config): - self.config = config + self.from_address = config.get("failmail/from_address") + self.to_address = config.get("failmail/to_address") # FIXME: this is set to ensure one failmail per instance. Should # do something more sophisticated to collect all calls and send # the mail before exiting. @@ -17,13 +18,13 @@ msg = MIMEText(body) msg["Subject"] = "Fail Mail : " + subject - msg["From"] = self.config.get("from_address") - msg["To"] = self.config.get("to_address") + msg["From"] = self.from_address + msg["To"] = self.to_address mailer = smtplib.SMTP("localhost") mailer.sendmail( - self.config.get("from_address"), - self.config.get("to_address"), + self.from_address, + self.to_address, msg.as_string() ) mailer.quit() -- To view, visit https://gerrit.wikimedia.org/r/344046 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I402b4f65af2c6a4e75edd5ebd787a2ebaf78c3cd Gerrit-PatchSet: 1 Gerrit-Project: wikimedia/fundraising/process-control Gerrit-Branch: master Gerrit-Owner: Ejegg <eeggles...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits