Ejemplo n.º 1
0
def main():
    service_name = 'SkeletonsDetector.Detect'

    op = load_options()
    sd = RPCSkeletonsDetector(op)

    log = Logger(name=service_name)
    channel = Channel(op.broker_uri)
    log.info('Connected to broker {}', op.broker_uri)
    provider = ServiceProvider(channel)
    provider.add_interceptor(LogInterceptor())

    max_batch_size = max(100, op.zipkin_batch_size)
    exporter = ZipkinExporter(
        service_name=service_name,
        host_name=op.zipkin_host,
        port=op.zipkin_port,
        transport=BackgroundThreadTransport(max_batch_size=max_batch_size),
    )
    tracing = TracingInterceptor(exporter=exporter)

    provider.delegate(topic='SkeletonsDetector.Detect',
                      function=partial(RPCSkeletonsDetector.detect, sd),
                      request_type=Image,
                      reply_type=ObjectAnnotations)

    provider.run()
Ejemplo n.º 2
0
def main():
    service_name = 'FaceDetector.Detect'
    log = Logger(name=service_name)

    op = load_options()
    detector = RPCFaceDetector(op.model)

    channel = Channel(op.broker_uri)
    log.info('Connected to broker {}', op.broker_uri)

    provider = ServiceProvider(channel)
    provider.add_interceptor(LogInterceptor())

    exporter = create_exporter(service_name=service_name, uri=op.zipkin_uri)
    tracing = TracingInterceptor(exporter=exporter)
    provider.add_interceptor(tracing)

    provider.delegate(topic='FaceDetector.Detect',
                      function=detector.detect,
                      request_type=Image,
                      reply_type=ObjectAnnotations)

    provider.run()
Ejemplo n.º 3
0
from is_wire.rpc import ServiceProvider, LogInterceptor
from is_msgs.image_pb2 import Image, ObjectAnnotations, ObjectAnnotation
from utils import load_options
import time
from random import randint

mean_time = 100  # milliseconds
var_time = 20


def detect(image, ctx):
    # simulate error
    time.sleep(randint(mean_time - var_time, mean_time + var_time) / 1000.0)
    reply = ObjectAnnotations(frame_id=randint(0, 4),
                              objects=[ObjectAnnotation()] * randint(1, 3))
    return reply


options = load_options(print_options=False)

channel = Channel(options.broker_uri)
provider = ServiceProvider(channel)
provider.add_interceptor(LogInterceptor())

provider.delegate(topic='Skeletons.Detect',
                  function=detect,
                  request_type=Image,
                  reply_type=ObjectAnnotations)

provider.run()
Ejemplo n.º 4
0
from is_wire.core import Channel
from is_wire.rpc import ServiceProvider
from is_wire.rpc.log_interceptor import LogInterceptor

from is_msgs.common_pb2 import Pose, Position

mean_svc_time_ms = 100
var_src_time_ms = 20

min_svc_time_ms = mean_svc_time_ms - var_src_time_ms
max_svc_time_ms = mean_svc_time_ms + var_src_time_ms

channel = Channel('amqp://localhost:5672')
service_provider = ServiceProvider(channel)
service_provider.add_interceptor(LogInterceptor())


def service(pose, ctx):
    delay = randint(min_svc_time_ms, max_svc_time_ms) / 1000.0
    time.sleep(delay)
    return pose.position


service_provider.delegate(topic="GetPosition",
                          function=service,
                          request_type=Pose,
                          reply_type=Position)

service_provider.run()