pragmatrix / Mom

MOnadic Machines: F# computation expressions and combinators for deterministic coordination, simulation, and testing of concurrent processes.
1 stars 0 forks source link

"unsafe" AsyncService functions should be guaranteed to run for a given time. #14

Closed pragmatrix closed 7 years ago

pragmatrix commented 7 years ago

When operating system process is shut down after an IVR workflow was finished, "unsafe" AsyncService functions may be asynchronously pending while cleaning up external resources.

It should be possible to delay the shutdown, so that these functions are guaranteed to run for a given time.

One example for that is a registration service, where the unregister function is asynchronous and should be sent to a remote server. In this case, if the shutdown process is too fast, the server may never be able to get or process the unregistration.