-
Notifications
You must be signed in to change notification settings - Fork 67
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
question: channels and slow processes #188
Comments
A similar question was raised before, I think. See Sean's explanation: #165 (comment) |
looking at the explanation, I am even more confused. @sean-parent says "A processes will be allowed to run so long as it is yielding values until the buffer is full before it is suspended.". In that case, why the process for step-1 suspended at all? It is yielding values as far as I can tell and the buffer should not be full. |
The default buffer size is 1 - so as soon as the Step 1 process yields a
value it is full.
However, there does seem to be an issue here because annotating the
processes with a buffer_size of 10 doesn't seem to change the behavior.
We'll need to look at this further...
…On Tue, Oct 16, 2018 at 6:59 AM Utkarsh Ayachit ***@***.***> wrote:
looking at the explanation, I am even more confused. @sean-parent
<https://github.com/sean-parent> says "A processes will be allowed to run
so long as it is yielding values until the buffer is full before it is
suspended.". In that case, why the process for step-1 suspended at all? It
is yielding values as far as I can tell and the buffer should not be full.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#188 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/ACLJLOqpuye4T2ArVF5jpWmJWI6hBqq_ks5ulOk-gaJpZM4Xc-OC>
.
|
great! thanks for checking. Yes, I had tried adding the |
I just went through it with the debugger and I think, I know where it goes wrong. I will try to provide a fix until the end of the week. |
thanks guys. I've posted an MR to fix the doc for |
Done in 1.4 |
default buffer size of an incoming queue is 1, not unlimited (see #188) Co-authored-by: Foster Brereton <fbrereto@adobe.com>
This is more of a question than and issue. Please feel free to point to some other mechanism for asking similar questions.
Here's my code snippet
The output generated is
What I have here is two function-processes; the second one is slow, while the first one is fast. What I see is that as the second one waits, the first step is no longer invoked after it has produced one value. Since default incoming queue size for each process is unlimited ref, I was expecting that the the step-1 will process all the packets and enqueue the result to be processed by step 2 whenever it gets to it. What am I misinterpreting?
Thanks
The text was updated successfully, but these errors were encountered: