Exemple #1
0
 def __init__(self, instance_id, function_id, function_version,
              function_details, max_buffered_tuples, user_code, log_topic,
              pulsar_client):
     self.instance_config = InstanceConfig(instance_id, function_id,
                                           function_version,
                                           function_details,
                                           max_buffered_tuples)
     self.user_code = user_code
     self.queue = Queue.Queue(max_buffered_tuples)
     self.log_topic_handler = None
     if log_topic is not None:
         self.log_topic_handler = log.LogTopicHandler(
             str(log_topic), pulsar_client)
     self.pulsar_client = pulsar_client
     self.input_serdes = {}
     self.consumers = {}
     self.output_serde = None
     self.function_class = None
     self.function_purefunction = None
     self.producer = None
     self.exeuction_thread = None
     self.atmost_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATMOST_ONCE')
     self.atleast_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATLEAST_ONCE')
     self.auto_ack = self.instance_config.function_details.autoAck
     self.contextimpl = None
     self.total_stats = Stats()
     self.current_stats = Stats()
Exemple #2
0
 def __init__(self, instance_id, function_id, function_version,
              function_details, max_buffered_tuples,
              expected_healthcheck_interval, user_code, pulsar_client):
     self.instance_config = InstanceConfig(instance_id, function_id,
                                           function_version,
                                           function_details,
                                           max_buffered_tuples)
     self.user_code = user_code
     self.queue = queue.Queue(max_buffered_tuples)
     self.log_topic_handler = None
     if function_details.logTopic is not None and function_details.logTopic != "":
         self.log_topic_handler = log.LogTopicHandler(
             str(function_details.logTopic), pulsar_client)
     self.pulsar_client = pulsar_client
     self.input_serdes = {}
     self.consumers = {}
     self.output_serde = None
     self.function_class = None
     self.function_purefunction = None
     self.producer = None
     self.exeuction_thread = None
     self.atmost_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATMOST_ONCE')
     self.atleast_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATLEAST_ONCE')
     self.auto_ack = self.instance_config.function_details.autoAck
     self.contextimpl = None
     self.total_stats = Stats()
     self.current_stats = Stats()
     self.stats = Stats()
     self.last_health_check_ts = time.time()
     self.timeout_ms = function_details.source.timeoutMs if function_details.source.timeoutMs > 0 else None
     self.expected_healthcheck_interval = expected_healthcheck_interval
Exemple #3
0
 def __init__(self, instance_id, function_id, function_version,
              function_details, max_buffered_tuples,
              expected_healthcheck_interval, user_code, pulsar_client,
              secrets_provider, cluster_name, state_storage_serviceurl):
     self.instance_config = InstanceConfig(instance_id, function_id,
                                           function_version,
                                           function_details,
                                           max_buffered_tuples)
     self.user_code = user_code
     # set queue size to one since consumers already have internal queues. Just use queue to communicate message from
     # consumers to processing thread
     self.queue = queue.Queue(1)
     self.log_topic_handler = None
     if function_details.logTopic is not None and function_details.logTopic != "":
         self.log_topic_handler = log.LogTopicHandler(
             str(function_details.logTopic), pulsar_client)
     self.pulsar_client = pulsar_client
     self.state_storage_serviceurl = state_storage_serviceurl
     self.input_serdes = {}
     self.consumers = {}
     self.output_serde = None
     self.function_class = None
     self.function_purefunction = None
     self.producer = None
     self.execution_thread = None
     self.atmost_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATMOST_ONCE')
     self.atleast_once = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'ATLEAST_ONCE')
     self.manual = self.instance_config.function_details.processingGuarantees == Function_pb2.ProcessingGuarantees.Value(
         'MANUAL')
     self.auto_ack = self.instance_config.function_details.autoAck
     self.contextimpl = None
     self.last_health_check_ts = time.time()
     self.timeout_ms = function_details.source.timeoutMs if function_details.source.timeoutMs > 0 else None
     self.expected_healthcheck_interval = expected_healthcheck_interval
     self.secrets_provider = secrets_provider
     self.state_context = state_context.NullStateContext()
     self.metrics_labels = [
         function_details.tenant,
         "%s/%s" % (function_details.tenant, function_details.namespace),
         function_details.name, instance_id, cluster_name,
         "%s/%s/%s" % (function_details.tenant, function_details.namespace,
                       function_details.name)
     ]
     self.stats = Stats(self.metrics_labels)