Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

External Flow Session expiration

External sessions are created when different runtimes start an external flow on the current runtime. The external sessions are closed when the http session has expired or it was idle. When the user logs out from the host project or the host session simply expired, the external session has no knowledge of that and will remain open even if not used.

To mitigate the problem an mechanism was introduced that uses the same redis connection (check configuration section) to store information about the host session, and the target runtime will check for all of its host sessions if any of them are closed or are still opened. Every time it finds one that was closed, then it will also close the external sessions that were created by that host session.

Both Runtimes have a session which checks if the session is expired, the External Flow Session has an additional responsibility of notifying that the session has been closed. By doing so other External Flow Sessions can be notified that the parent session has been closed and no further actions should be performed.

...