You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
(As I understand it): dodal in Artemis/Hyperion lazily instantiates devices when plans that use the devices are required, so as to allow those plans to run regardless of the state of other devices on the beamline, and in this case if a device fails to instantiate the exception should be thrown.
make_all_devices is called by tests and when dodal is imported into Blueapi, which wants to know about all devices and register them to its context eagerly: in an analogous way, Blueapi would like to successfully start but not allow any devices that failed to be instantiated to be used as arguments for plans.
Tangentially related to but potentially opposed to desired behaviour of #3 (Presumably will call make_all_devices, but would be happy allowing an exception to be fatal in this case?)
The text was updated successfully, but these errors were encountered:
(As I understand it): dodal in Artemis/Hyperion lazily instantiates devices when plans that use the devices are required, so as to allow those plans to run regardless of the state of other devices on the beamline, and in this case if a device fails to instantiate the exception should be thrown.
make_all_devices is called by tests and when dodal is imported into Blueapi, which wants to know about all devices and register them to its context eagerly: in an analogous way, Blueapi would like to successfully start but not allow any devices that failed to be instantiated to be used as arguments for plans.
Tangentially related to but potentially opposed to desired behaviour of #3 (Presumably will call make_all_devices, but would be happy allowing an exception to be fatal in this case?)
The text was updated successfully, but these errors were encountered: