Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pipeline #844

Merged
merged 2 commits into from Aug 15, 2020
Merged

Pipeline #844

merged 2 commits into from Aug 15, 2020

Conversation

jan-janssen
Copy link
Member

@SanderBorgmans Can you try this branch? It should enable submitting pipeline jobs to the queue. Please initially try it with the example notebook. For me it worked with both interactive jobs as well as modal jobs.

@jan-janssen
Copy link
Member Author

This also includes the changes from #842

@jan-janssen jan-janssen added the enhancement Category: New feature or request label Aug 15, 2020
@coveralls
Copy link

Pull Request Test Coverage Report for Build 5661

  • 2 of 12 (16.67%) changed or added relevant lines in 2 files are covered.
  • 42 unchanged lines in 2 files lost coverage.
  • Overall coverage decreased (-0.2%) to 58.076%

Changes Missing Coverage Covered Lines Changed/Added Lines %
pyiron/base/master/parallel.py 2 3 66.67%
pyiron/atomistics/master/parallel.py 0 9 0.0%
Files with Coverage Reduction New Missed Lines %
pyiron/base/master/parallel.py 1 59.69%
pyiron/atomistics/master/murnaghan.py 41 39.86%
Totals Coverage Status
Change from base Build 5648: -0.2%
Covered Lines: 12427
Relevant Lines: 21398

💛 - Coveralls

@jan-janssen jan-janssen merged commit 75df8e6 into master Aug 15, 2020
@jan-janssen jan-janssen deleted the pipeline branch August 15, 2020 12:00
@SanderBorgmans
Copy link
Contributor

SanderBorgmans commented Aug 18, 2020

@jan-janssen it seems the issue was that the 'queue' mode was not taken into account.
When adding:

if job.server.run_mode.queue:
    break

to the run_static() function in

def run_static(self):
"""
The FlexibleMaster uses functions to connect multiple Jobs.
"""
self.status.running = True
max_steps = len(self.child_ids + self._job_name_lst)
ind = max_steps - 1
for ind in range(len(self.child_ids), max_steps):
job = self.pop(0)
job._master_id = self.job_id
if ind != 0:
prev_job = self[ind - 1]
if ind < max_steps:
mod_funct = self._step_function_lst[ind - 1]
mod_funct(prev_job, job)
job._parent_id = prev_job.job_id
job.run()
if job.server.run_mode.interactive and not isinstance(job, GenericMaster):
job.interactive_close()
if self.server.run_mode.non_modal and job.server.run_mode.non_modal:
break
if ind == max_steps - 1 and self.is_finished():
self.status.finished = True
self.project.db.item_update(self._runtime(), self.job_id)
else:
self.status.suspended = True
similar to the non_modal mode, everything seems to be working as expected.

@jan-janssen
Copy link
Member Author

@SanderBorgmans Sounds reasonable - Can you open a pull request for this? It seems like the runmode queue wasn't considered properly.

@jan-janssen
Copy link
Member Author

I created a new pull request for this #863

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement Category: New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants