Skip to content
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

Preserve flow execution after 20 minutes if it do any activity #129

Open
kirill-levitskiy opened this issue Jan 15, 2020 · 4 comments
Open

Comments

@kirill-levitskiy
Copy link

There is an issue with a flow processing that stops accidentally after 20 minutes of execution.
Here is a line in the code that describes a constant for timeout in case of Running flow after 20 minutes

const TIMEOUT = process.env.ELASTICIO_TIMEOUT || 20 * 60 * 1000; // 20 minutes

The case:

  1. Create a flow;
  2. First step generates an array with 7000 int values;
  3. Second step (code-component) emits each array item individually with delay (500 ms).
  4. Run a flow.

An execution will continue 20 minutes and it stop emit messages even if an amount is less than 7000.

As a solution, there should be checked any activity during last 20 minutes before firing a timeout operation in order to keep a flow alive if it is still doing any job.

@zubairov
Copy link
Contributor

AFAIK this time-out is for a single message, not for the whole execution. However let's see if @elasticio/platform-qa could reproduce this issue

@drobiazko
Copy link
Contributor

@kirill-levitskiy I remember we had an event called heartbeat which is used to prolong the timeout based shutdown. Do we still have it?

@jhorbulyk
Copy link

Similar to #115

@pnedelko
Copy link
Contributor

@drobiazko no, we haven't migrated heartbeat to the Platform v2 (Sailor).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants