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

Release candidate v0.1.15rc #611

Merged
merged 142 commits into from
May 19, 2021
Merged

Release candidate v0.1.15rc #611

merged 142 commits into from
May 19, 2021

Conversation

bouthilx
Copy link
Member

🚀 Features

🏗 Enhancements

🐛 Bug Fixes

📜 Documentation

bouthilx and others added 30 commits April 8, 2021 00:48
Merge back master in develop after release
Add presentations section in doc
We need to serialize the storage/DB config in order to transfer it to
multiple workers.
There are many calls to `get_storage` in the code base that requires the
singletons to be set. When serializing the experiment client to run
multiple workers in parallel the singletons are not accessible in the other
workers. We need to serialize them and reinstate them when deserializing.

This is horribly messy but is required due to over-reliance on
`get_storage()`. This is a bad design and we should get rid of it. See
issue #606.
Serialize storage/DB and singletons.
Why:

The workon pipeline was duplicated for the cli and python interface. The
python interface should be reused instead under the hood for the CLI
command.

How:

The consumer has been modified to serve only as a callable function to
execute the users script.
- The handling of interruption is moved to ExperimentClient.workon.
- The fetching of results file is moved from storage to consumer since
it is only relevant for the CLI.
- The pacemaker is removed. The heartbeat is only defined and used
within the ExperimentClient.

Experiment.suggest was incoherent when experiment is done. It would
return None, but the context manager could not work in such case. To
handle this, suggest now raises CompletedExperiment instead of returning
None.
Why:

Now that cli hunt is using ExperimentClient.workon there is no need for
code in worker. This code is only relevant for cli.hunt.
This also solves a circular import issue.
@bouthilx bouthilx added this to the v0.1.15 milestone May 19, 2021
@bouthilx bouthilx changed the base branch from develop to master May 19, 2021 15:53
@bouthilx bouthilx merged commit 9e6f283 into master May 19, 2021
@bouthilx bouthilx deleted the release-v0.1.15rc branch May 19, 2021 18:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants