nbedos / cistern

A terminal UI for Unix to monitor Continuous Integration pipelines from the command line. Current integrations include GitLab, Azure DevOps, Travis CI, AppVeyor and CircleCI.
BSD 3-Clause "New" or "Revised" License
172 stars 12 forks source link

cistern exits on network failure #23

Open simplelife2010 opened 4 years ago

simplelife2010 commented 4 years ago

I am running cistern on a laptop that goes to standby from time to time. When waking up, it takes some time to recover the network connection (vpn). In these cases, cistern seems to handle this as a critical issue, exiting.

cistern: Provider gitlab-0: monitorPipeline failed with Get https://git.tech.rz.db.de/api/v4/projects/iot-4-infrastructure%2Faim-batch-classification/pipelines/1957061
: read tcp 10.180.97.180:51431->10.104.84.230:443: read: operation timed out (https://git.tech.rz.db.de/iot-4-infrastructure/aim-batch-classification/pipelines/1957061
)

My assumption is that this could be handled differently, as a timeout on a GET is nothing too unusual.

nbedos commented 4 years ago

Thanks for the feedback. I'm aware of this problem and I agree that some HTTP errors should be retried.

cistern should also be able to display an error log so that if it fails to reestablish the connection, the user can see what happened and restart the connection themselves. Once this is possible, network errors coming from providers should not be fatal anymore: even if one provider is unreachable, cistern should still be usable with other providers.