Skip to content

change how experiment document is initialized #160

Description

@dconathan

Because self.butler.experiment.set() happens after myApp.initExp(), if someone runs butler.experiment.set() in myApp.initExp(), terrible things happen: a basically empty experiment doc is created, it doesn't get set right after the call to myApp.initExp(), and the experiment fails to launch with a mysterious exp_uid not found message (because the experiment doc doesn't have an exp_uid in it).

There are a couple ways we could fix this. Probably the easiest would be to make sure the experiment doc is not set yet and throw an exception if it is...

Otherwise, we could just set the experiment doc before the call to myApp.initExp()... then myApp.initExp() can safely update/add anything (e.g. stuff the TargetManager returns after setting the targets...). (we would probably have it update with the exp_args that myApp.initExp() returns to maintain backwards compatibility)

I think the issue with this method is if the targets are too big, this would break (hence the del targets in myApp.initExp())... so we'd have to get around this somehow.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions