Migrating to Worker v2.5
Breaking Changes
Server-side Config Validation
The configuration of scheduled runs will now be validated in the API when scheduling a run whereas
before, it was only validated in the LightlyOne Worker. This feature provides immediate feedback as the API can raise an ApiError
upon encountering an invalid configuration. To ensure backwards compatibility, the validation happens on a new endpoint which means that the LightlyOne Worker and the Lightly Python Client need to be on compatible versions:
- Lightly Python Client:
version >= v1.3
- LightlyOne Worker:
version >= 2.5
To upgrade, see our docs for updating the Lightly Python Client and updating the LightlyOne Worker.
Compatibility Table
LightlyOne Worker | Lightly Python Client | Compatible |
---|---|---|
v2.5 or higher | v1.3 or higher | Yes, with config validation |
v.2.4.X or lower | v1.2.X or lower | Yes |
v.2.4.X or lower | v1.3 or higher | No, jobs will not be picked up |
v2.5 or higher | v1.2.X or lower | No, jobs will not be picked up |
See the Compatibility Table for a complete list of compatible LightlyOne Worker and Lightly Python Client versions.
What is Validated?
- Configuration options names are checked. E.g. specifying
"enableeeee_training"
raises an Error. - Configuration types are checked. E.g. specifying
"enable_training": "string instead of bool"
raises an error. - Access to the datasource is verified:
- Is there list, read, write, and overwrite access to the datasource? See also Verify datasource permissions
- When working with predictions: Does the corresponding
tasks.json
exist and is valid? - When working with metadata: Does the corresponding
schema.json
exist and is valid? - If you specified to use the Relevant Filenames feature: Does the file exist at the specified place?
This verification takes some time as it reads files from your datasource. You can skip all the verification by specifying "datasource": {"bypass_verify": True}
in the worker_config
, see also the Configuration Options.
Updated 2 months ago