I'm sure it's been answered before but I've searched for quite a while and not found anything, so apologies:
We're using python... we've got server tasks that can last quite a while (minutes) and chew up lots of CPU. Right now we're using REST, and when/if the client disconnects before return, the task keeps running on the server side. This is unfortunate; it's costly (since the server may be using for-pay services remotely, leaving the task running could cost the client) and vulnerable (a malicious client could just start and immediately disconnect hundreds of tasks and lock the server up for quite a while). I was hoping that a move to GRPC, in addition to solving other problems, would provide a clean way to deal with this. But it's not immediately obvious how to do so. I could see maybe manually starting a thread/Future for the worker process and iterating sleeping until either the context is invalid or the thread/future returns, but I feel like that's manually hacking something that probably exists and I'm not understanding. Maybe some sort of server interceptor? How would it be best to handle this? I'd like to handle both very long unary calls and streaming calls in the same manner. Cheers, Vic -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/9e84949d-139c-43df-a09e-5d8cc79022be%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
