PROJECTS: helen
CHANGESET: Helen Core = pure Haskell + monad transformers + lenses + tricky code
DESCRIPTION:
This task requires investing some time to understand how helen works. But the project itself has not so many lines of code.
The task is mentioned in Service.hs. The goal is to make sure to send cancel messages to all non-blocking services that currently do anything for the client that just has disconnected.
To elaborate on the problem: siren service is used to synchronize a scenario state between the client and luci. The client sends run message to invoke subscribe function in siren, then siren continuously sends progress messages and never sends results messages. If the service is not canceled explicitly, it will run forever.
PROJECTS: helen
CHANGESET: Helen Core = pure Haskell + monad transformers + lenses + tricky code
DESCRIPTION:
This task requires investing some time to understand how helen works. But the project itself has not so many lines of code.
The task is mentioned in
Service.hs. The goal is to make sure to sendcancelmessages to all non-blocking services that currently do anything for the client that just has disconnected.To elaborate on the problem:
sirenservice is used to synchronize a scenario state between the client and luci. The client sendsrunmessage to invokesubscribefunction insiren, thensirencontinuously sendsprogressmessages and never sendsresultsmessages. If the service is not canceled explicitly, it will run forever.