Story #9148

Updated by 3 months ago

The tasking system should be able to allow resources to be shared between tasks if only read access is requested.

The following design should allow to implement this without a migration and in a backwards compatible way:
- reuse the reserved_resources_record ListField
shared resources will be prefixed by "shared:"
exclusive resources will be used as is
- dispatch will add another parameter "shared_resources" in a backwards compatible way
- workers will augment the list of in_use_resources with a flag if any previous task requested a resource exclusive

Note: shared access that was scheduled after exclusive access still needs to wait. That is, one task requesting exclusive access to a resource will introduce a barrier for all other tasks requesting the same resource in any way.