From 8d2959f6eee72cfd269ce5c14ce4321ebe741d5c Mon Sep 17 00:00:00 2001 From: Floreal Cabanettes <floreal.cabanettes@inra.fr> Date: Mon, 19 Feb 2018 15:16:51 +0100 Subject: [PATCH] Fix clean cron def --- src/dgenies/lib/crons.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/dgenies/lib/crons.py b/src/dgenies/lib/crons.py index 54e245f..5155d2e 100644 --- a/src/dgenies/lib/crons.py +++ b/src/dgenies/lib/crons.py @@ -34,6 +34,14 @@ class Crons: self.init_clean_cron() self.init_launch_local_cron() + @staticmethod + def _get_python_exec(): + pyexec = sys.executable + match = re.match(r"^(.+)/lib/(python[^/]+)/((site-packages/bin/python)|())$", pyexec) + if match: + pyexec = "%s/bin/%s" % (match.group(1), match.group(2)) + return pyexec + def init_clean_cron(self): """ Clean cron is launched at 1h00am each day @@ -41,8 +49,9 @@ class Crons: clean_time = self.config.cron_clean_time clean_freq = self.config.cron_clean_freq if self.base_dir is not None: - job = self.my_cron.new(sys.executable + - " {0}/bin/clean_jobs.py > {0}/clean.log 2>&1".format(self.config.log_dir), + job = self.my_cron.new(self._get_python_exec() + + " {0}/bin/clean_jobs.py > {1}/clean.log 2>&1".format(self.base_dir, + self.config.log_dir), comment="dgenies") job.day.every(clean_freq) job.hour.on(clean_time[0]) @@ -57,10 +66,7 @@ class Crons: :return: """ if self.base_dir is not None: - pyexec = sys.executable - match = re.match(r"^(.+)/lib/(python[^/]+)/((site-packages/bin/python)|())$", pyexec) - if match: - pyexec = "%s/bin/%s" % (match.group(1), match.group(2)) + pyexec = self._get_python_exec() logs = os.path.join(self.config.log_dir, "local_scheduler.log") if self.debug else "/dev/null" job = self.my_cron.new("{0}/bin/start_local_scheduler.sh {0} {1} {2} {3} > /dev/null 2>&1 &". format(self.base_dir, pyexec, self.local_scheduler_pid_file, logs), -- GitLab