diff options
author | Angelos Evripiotis <jevripiotis@bloomberg.net> | 2019-05-09 10:15:36 +0100 |
---|---|---|
committer | Angelos Evripiotis <jevripiotis@bloomberg.net> | 2019-05-23 15:48:59 +0100 |
commit | 23b69c65b4424555194c1c8b18434d2b709ecb3d (patch) | |
tree | 67b7f4b67db46beac91966580f4b642677f9a9e4 | |
parent | bbbda5482de1ddfc05960cefa1b755ea88b12337 (diff) | |
download | buildstream-23b69c65b4424555194c1c8b18434d2b709ecb3d.tar.gz |
jobs/job: send ChildJob the context, not scheduler
Instead of passing the whole scheduler to the ChildJob, only pass the
part that is used - the context. Reducing the amount of shared state
makes it easier to follow what's going on, and will make it more
economical to move to away from the 'fork' model later.
-rw-r--r-- | src/buildstream/_scheduler/jobs/job.py | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/buildstream/_scheduler/jobs/job.py b/src/buildstream/_scheduler/jobs/job.py index a899b8952..6b6f45be6 100644 --- a/src/buildstream/_scheduler/jobs/job.py +++ b/src/buildstream/_scheduler/jobs/job.py @@ -130,7 +130,7 @@ class Job(): child_job.setup( self.action_name, - self._scheduler, + self._scheduler.context, self._queue, self._max_retries, self._tries, @@ -508,10 +508,10 @@ class Job(): class ChildJob(): def setup( - self, action_name, scheduler, queue, max_retries, tries, logfile, message_unique_id, task_id): + self, action_name, scheduler_context, queue, max_retries, tries, logfile, message_unique_id, task_id): self.action_name = action_name - self._scheduler = scheduler + self._scheduler_context = scheduler_context self._queue = queue self._max_retries = max_retries self._tries = tries @@ -537,7 +537,7 @@ class ChildJob(): if "unique_id" in kwargs: unique_id = kwargs["unique_id"] del kwargs["unique_id"] - self._scheduler.context.message( + self._scheduler_context.message( Message(unique_id, message_type, message, **kwargs)) # send_message() @@ -606,7 +606,7 @@ class ChildJob(): # Set the global message handler in this child # process to forward messages to the parent process - self._scheduler.context.set_message_handler(self._child_message_handler) + self._scheduler_context.set_message_handler(self._child_message_handler) starttime = datetime.datetime.now() stopped_time = None @@ -623,7 +623,7 @@ class ChildJob(): # Time, log and and run the action function # with _signals.suspendable(stop_time, resume_time), \ - self._scheduler.context.recorded_messages(self._logfile) as filename: + self._scheduler_context.recorded_messages(self._logfile) as filename: self.message(MessageType.START, self.action_name, logfile=filename) |