72 support non editable workflows 2 - #254
Conversation
b6f6015 to
c93fe4c
Compare
Codecov Report❌ Patch coverage is
📢 Thoughts on this report? Let us know! |
d11cb8b to
b7313ec
Compare
b7313ec to
b9016b1
Compare
|
|
||
|
|
||
| def _remote_workflow_index_path(settings: EwoksSettings) -> Path: | ||
| return settings.resource_directory / _REMOTE_WORKFLOW_INDEX |
There was a problem hiding this comment.
JSON file that contains a mapping: workflow identifier -> discovery queue.
It gets populated by workflow discovery. Identifiers get removed when shadowed locally due to caching on discovery (opt-out) or workflow editing.
There was a problem hiding this comment.
Identifiers get removed when shadowed locally due to caching on discovery (opt-out) or workflow editing.
Can you elaborate on what prompts a removal from the index?
There was a problem hiding this comment.
An identifier gets removed from the index the moment it gets a local shadow (see save_workflow).
Also when populating the index, if the external identifier exists locally (because it was already shadowed or accidental identifier collision) it does not get added to the index.
There was a problem hiding this comment.
In other words, the moment an identifier exists locally it is a local workflow like any other local workflow.
It has no relation to the external workflow anymore. It just so happens to have the same identifier. That's why I use the word "shadow".
|
|
||
|
|
||
| def _remote_workflow_index_path(settings: EwoksSettings) -> Path: | ||
| return settings.resource_directory / _REMOTE_WORKFLOW_INDEX |
There was a problem hiding this comment.
Identifiers get removed when shadowed locally due to caching on discovery (opt-out) or workflow editing.
Can you elaborate on what prompts a removal from the index?
Co-authored-by: Loïc Huder <42204205+loichuder@users.noreply.github.com>
70f48ce to
95b0b73
Compare
|
Applied suggestions and renamed "remote" to "external". CI failure unrelated. |
Follow up of #247 to complete supporting "remote workflows".
Serve remote workflows, discovered from python packages on the worker side, like normal local workflows.
Local shadowing of remote workflows supports caching, editing and deleting. See changelog for more.
Note: we have been using different terms for the same thing and I tried to pick one in docstrings and function names to be consistent