Hello Lidi Zheng, I couldn't get your point.
Regards, S Sathish Babu On Thursday, 31 January 2019 10:10:30 UTC+5:30, Lidi Zheng wrote: > > Hi S Sathish Babu, > > In that case, you want to keep your main thread alive after you dispatched > your premises. I presume in Scala the "Future" works fine with > "Thread.sleep"? If so, you may block your main thread by explicitly calling > "Thread.sleep" at the end of your main function, and your premises will be > executed asynchronously. > > Cheers, > Lidi Zheng > > On Wed, Jan 30, 2019 at 8:07 PM S SATHISH BABU <[email protected] > <javascript:>> wrote: > >> Hello Lidi Zheng, >> >> Thanks for the response. As you said,using "Await.ready" or "Await.block" >> will block the program and return me the result. In my case, I want it to >> execute asynchronously. There should be no blocking. Let the server return >> the response when it has finished computing. Is that possible? >> >> Regards, >> S Sathish Babu >> >> On Wednesday, 30 January 2019 23:37:04 UTC+5:30, Lidi Zheng wrote: >>> >>> Hello, >>> >>> The Scala client is exiting too quick that the future is not yet >>> completed. You may use "Await.ready" or "Await.result" to explicitly block >>> the program. >>> >>> Cheers, >>> Lidi Zheng >>> >>> On Tue, Jan 29, 2019 at 10:58 PM S SATHISH BABU <[email protected]> >>> wrote: >>> >>>> Hello, >>>> I am making a communication between my Scala gRPC client and python >>>> gRPC server. My issue is when I make a blocking call from scala client, my >>>> request is handled. But in case of asynchronous stub, the request is not >>>> delivered at all. Can anyone help me out with this?. >>>> >>>> Python gRPC server code >>>> >>>> from gRPC2 import message_pb2, message_pb2_grpc >>>> import grpc >>>> from concurrent import futures >>>> import time >>>> >>>> >>>> class HandlerServicer(message_pb2_grpc.HandlerServicer): >>>> >>>> def request_handler(self, request, context): >>>> print('Received request:', request, request.request_message) >>>> response = 'Reponse' >>>> time.sleep(10) >>>> return message_pb2.Response(response_message=response) >>>> >>>> >>>> handler_server = grpc.server(futures.ThreadPoolExecutor()) >>>> message_pb2_grpc.add_HandlerServicer_to_server(HandlerServicer(), >>>> handler_server) >>>> handler_server.add_insecure_port("[::]:{}".format(5000)) >>>> >>>> print('Starting server...') >>>> handler_server.start() >>>> try: >>>> while True: >>>> time.sleep(60*60*60) >>>> except KeyboardInterrupt: >>>> print('Stopping server...') >>>> handler_server.stop(0) >>>> >>>> >>>> Scala gRPC client code: >>>> >>>> import io.grpc.ManagedChannelBuilder >>>> import message._ >>>> >>>> import scala.concurrent.Future >>>> import scala.concurrent.ExecutionContext >>>> >>>> object HandlerClient extends App { >>>> >>>> val channel = ManagedChannelBuilder.forAddress("localhost", >>>> 5000).usePlaintext().build() >>>> val request = Request("Request") >>>> implicit val ec = ExecutionContext.global >>>> >>>> // Making a Async call >>>> val stub = HandlerGrpc.stub(channel) >>>> val future = stub.requestHandler(request) >>>> future onComplete println >>>> } >>>> >>>> >>>> >>>> Proto file: >>>> >>>> syntax = "proto3"; >>>> >>>> service Handler{ >>>> rpc request_handler(Request) returns (Response){} >>>> } >>>> >>>> message Request{ >>>> string request_message = 1; >>>> } >>>> >>>> message Response{ >>>> string response_message = 1; >>>> } >>>> >>>> >>>> Thanks, >>>> S Sathish Babu >>>> >>>> -- >>>> 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/4ce6fa34-b5a5-49d0-9296-b6c25cdc33ae%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/grpc-io/4ce6fa34-b5a5-49d0-9296-b6c25cdc33ae%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> 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] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> 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/2000128c-39d2-44ea-82f0-e9c5af3ed07e%40googlegroups.com >> >> <https://groups.google.com/d/msgid/grpc-io/2000128c-39d2-44ea-82f0-e9c5af3ed07e%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- 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/7ba42561-a988-4442-b4f0-50b74061569d%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
