def _init(self): """ Actually initializes the service. """ self.odb = self.worker_store.server.odb self.kvdb = self.worker_store.kvdb self.time.kvdb = self.kvdb self.slow_threshold = self.server.service_store.services[self.impl_name]['slow_threshold'] out_amqp = PublisherFacade(self.broker_client, self.server.delivery_store) out_jms_wmq = WMQFacade(self.broker_client, self.server.delivery_store) out_zmq = ZMQFacade(self.broker_client, self.server.delivery_store) out_sql = self.worker_store.sql_pool_store out_ftp, out_plain_http, out_soap = self.worker_store.worker_config.outgoing_connections() self.outgoing = Outgoing(out_ftp, out_amqp, out_zmq, out_jms_wmq, out_sql, out_plain_http, out_soap) is_sio = hasattr(self, 'SimpleIO') if self.passthrough_request: self.request = self.passthrough_request self.request.http.init(self.wsgi_environ) if is_sio: self.request.init(is_sio, self.cid, self.SimpleIO, self.data_format, self.transport, self.wsgi_environ) self.response.init(self.cid, self.SimpleIO, self.data_format) self.msg = MessageFacade(self.worker_store.msg_ns_store, self.worker_store.elem_path_store, self.worker_store.xpath_store)
def _init(self): """ Actually initializes the service. """ self.odb = self.worker_store.server.odb self.kvdb = self.worker_store.kvdb self.time.kvdb = self.kvdb self.pubsub = self.worker_store.pubsub self.slow_threshold = self.server.service_store.services[ self.impl_name]['slow_threshold'] # Queues out_amqp = PublisherFacade(self.broker_client) out_jms_wmq = WMQFacade(self.broker_client) out_zmq = ZMQFacade(self.server) # Patterns self.patterns = PatternsFacade(self) # SQL out_sql = self.worker_store.sql_pool_store # Regular outconns out_ftp, out_odoo, out_plain_http, out_soap = self.worker_store.worker_config.outgoing_connections( ) self.outgoing = Outgoing(out_amqp, out_ftp, out_jms_wmq, out_odoo, out_plain_http, out_soap, out_sql, self.worker_store.stomp_outconn_api, out_zmq) # Cloud self.cloud = Cloud() self.cloud.openstack.swift = self.worker_store.worker_config.cloud_openstack_swift self.cloud.aws.s3 = self.worker_store.worker_config.cloud_aws_s3 # Cassandra self.cassandra_conn = self.worker_store.cassandra_api self.cassandra_query = self.worker_store.cassandra_query_api # E-mail self.email = EMailAPI(self.worker_store.email_smtp_api, self.worker_store.email_imap_api) # Search self.search = SearchAPI(self.worker_store.search_es_api, self.worker_store.search_solr_api) is_sio = hasattr(self, 'SimpleIO') self.request.http.init(self.wsgi_environ) if is_sio: self.request.init(is_sio, self.cid, self.SimpleIO, self.data_format, self.transport, self.wsgi_environ) self.response.init(self.cid, self.SimpleIO, self.data_format) self.msg = MessageFacade(self.worker_store.msg_ns_store, self.worker_store.json_pointer_store, self.worker_store.xpath_store, self.worker_store.msg_ns_store, self.request.payload, self.time)
def _init(self, is_http=False): """ Actually initializes the service. """ self.slow_threshold = self.server.service_store.services[ self.impl_name]['slow_threshold'] # The if's below are meant to be written in this way because we don't want any unnecessary attribute lookups # and method calls in this method - it's invoked each time a service is executed. The attributes are set # for the whole of the Service class each time it is discovered they are needed. It cannot be done in ServiceStore # because at the time that ServiceStore executes the worker config may still not be ready. if self.component_enabled_cassandra: if not Service.cassandra_conn: Service.cassandra_conn = self._worker_store.cassandra_api if not Service.cassandra_query: Service.cassandra_query = self._worker_store.cassandra_query_api if self.component_enabled_email: if not Service.email: Service.email = EMailAPI(self._worker_store.email_smtp_api, self._worker_store.email_imap_api) if self.component_enabled_search: if not Service.search: Service.search = SearchAPI(self._worker_store.search_es_api, self._worker_store.search_solr_api) if self.component_enabled_msg_path: self.msg = MessageFacade(self._json_pointer_store, self._xpath_store, self._msg_ns_store, self.request.payload, self.time) if self.component_enabled_patterns: self.patterns = PatternsFacade(self) if is_http: self.request.http.init(self.wsgi_environ) # self.is_sio attribute is set by ServiceStore during deployment if self.has_sio: self.request.init(True, self.cid, self.SimpleIO, self.data_format, self.transport, self.wsgi_environ, self.server.encrypt) self.response.init(self.cid, self.SimpleIO, self.data_format) # Cache is always enabled self.cache = self._worker_store.cache_api