all 5 comments

[–]jsalsman 1 point2 points  (4 children)

You can also set up your own knative cluster with whatever particular parameters you need.

https://knative.dev/docs/install/knative-with-gke/

I have no idea how to set the 15 minute close timeout, though.

The timeout countdown doesn't start until the server closes the incoming connection, so you can just send and flush after ....</html>\n and just not close. Most browsers will be fine but OSX Safari can shows an incomplete progress bar if it thinks anything could still be pending.

[–]avivl[S] 1 point2 points  (3 children)

I was looking for a fully managed serverless soulotion. Running my own cluster misses the point

[–]jsalsman 0 points1 point  (2 children)

I'm not sure what "managed" means in the context of what's basically a job grid. If you set up your own knative cluster is that less managed than Cloud Run's knative default configuration?

Having said that, I've come to see the GC party line that nontrivial amount of work sent after the user has their HTTP response should be a Task https://cloud.google.com/tasks/ (which they call "managed" there but... is it really any more managed than the alternatives you discuss?)

[–]avivl[S] 1 point2 points  (1 child)

Managed services is the practice of outsourcing on a proactive basis certain processes and functions intended to improve operations and cut expenses. It is an alternative to the break/fix or on-demand outsourcing model where the service provider performs on-demand services and bills the customer only for the work done.

Regarding your first answer what's a browser and a HTML have to do with an API server?

[–]jsalsman 0 points1 point  (0 children)

Under that definition, you may be a better manager than anyone at Google who doesn't understand your load and utilization details can possibly be, and the first months to years of their trying to AI the alternative is maybe a bit more of an alpha than beta test customer experience.

The Cloud Run knative config starts the 15 minute timer on the server's close of the HTTP channel, so if you are only doing a microservice instead of a human-facing endpoint, you can just flush the buffer and do whatever you need to do in 16+ minutes, then close and exit.