First of all, thanks for the library, it's really cool!
While using it, I find some issues with the cache checkIfCached, here I listed them with some suggestions :
Seems this is intended for checking the execution_cached of a final output node; but there can be also in-between nodes execution that are cached; so there can be multiple execution_cached in a single workflow-run ; maybe we need to filter only the execution_cached event.details that are including a node coming from mapOutputKeys.
There is a race condition when checking the execution_cached event; sometimes the execution_cached is not detected, blocking all the flow as the Promise never resolves. I think we need to refactor it and put the listener before calling const job = await this.enqueueJob() or we can use a kind of websocket message buffering.
Hi,
First of all, thanks for the library, it's really cool!
While using it, I find some issues with the cache
checkIfCached
, here I listed them with some suggestions :execution_cached
of a final output node; but there can be also in-between nodes execution that are cached; so there can be multipleexecution_cached
in a single workflow-run ; maybe we need to filter only theexecution_cached
event.details that are including a node coming frommapOutputKeys
.execution_cached
event; sometimes theexecution_cached
is not detected, blocking all the flow as the Promise never resolves. I think we need to refactor it and put the listener before callingconst job = await this.enqueueJob()
or we can use a kind of websocket message buffering.Thank you!