• 121212


    # Copyright 2015 gRPC authors.
    #
    # Licensed under the Apache License, Version 2.0 (the "License");
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #     http://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an "AS IS" BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    """The Python implementation of the GRPC helloworld.Greeter server."""
    
    import time
    from concurrent import futures
    
    import grpc
    
    import facematrix.FaceWork as FaceWork
    import grpcpy.facematrix_pb2 as facematrix_pb2
    import grpcpy.facematrix_pb2_grpc as facematrix_pb2_grpc
    import os
    import tempfile
    
    _ONE_DAY_IN_SECONDS = 60 * 60 * 24
    
    
    class FaceTransformServicerImpl(facematrix_pb2_grpc.FaceTransformServicer):
    
        def getMatrix(self, request, context):
    
            fd, path = tempfile.mkstemp(dir="image")
            try:
                with os.fdopen(fd, 'wb') as tmp:
                    # do stuff with temp file
                    tmp.write(request.face)
                    transform = FaceWork.transform(path)
                    print(path)
                    return facematrix_pb2.Matrix(matrix=transform)
            finally:
                os.remove(path)
    
    
    def serve():
        server = grpc.server(futures.ThreadPoolExecutor(max_workers=10))
        facematrix_pb2_grpc.add_FaceTransformServicer_to_server(FaceTransformServicerImpl(), server)
        server.add_insecure_port('[::]:50051')
        server.start()
        try:
            while True:
                time.sleep(_ONE_DAY_IN_SECONDS)
        except KeyboardInterrupt:
            server.stop(0)
    
    
    if __name__ == '__main__':
        serve()
  • 相关阅读:
    Git 远程分支的查看及相关问题
    Clean Code – Chapter 6 Objects and Data Structures
    Clean Code – Chapter 5 Formatting
    Clean Code – Chapter 4: Comments
    利用 SerialPort 控件实现 PC 串口通信
    Clean Code – Chapter 3: Functions
    oracle如何查看当前有哪些用户连接到数据库
    c++ Ansi和Unicode相互转换
    c++ Utf8和Unicode相互转换
    c++ 根据某个字符或者字符串分割另外一个字符串
  • 原文地址:https://www.cnblogs.com/chenyedev/p/10124247.html
Copyright © 2020-2023  润新知