zoukankan      html  css  js  c++  java
  • 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()
  • 相关阅读:
    【MySQL】:利用DCL管理用户和控制权限
    【MySQL】:事务四大特性与隔离级别
    JDBC概述及编程步骤详解
    【MySQL】:多表查询
    【MySQL】:MySQL中四大约束
    MySQL解决DOS窗口乱码问题
    【MySQL】:分组查询where和having
    【MySQL】:利用DQL查询表中的数据
    【MySQL】:利用DML操作表中数据
    【MySQL】:利用DDL操作数据库、表
  • 原文地址:https://www.cnblogs.com/chenyedev/p/10124247.html
Copyright © 2011-2022 走看看