The congress.dse2.data_service
Module¶
-
class
congress.dse2.data_service.
DataService
(service_id)¶ Bases:
object
A unit of data and business logic that interfaces with the DSE.
A DataService may publish tables, subscribe to tables, and/or expose RPCs on the DSE. DataService instances are bound to a DseNode which is used for all inter-service communication.
- Attributes:
service_id: A unique ID of the service. _published_tables_with_subscriber: A set of tables published by self
that has subscribers
-
add_rpc_endpoint
(endpt)¶
-
check_resub_all
()¶ Check all subscriptions for long missing update and resubscribe.
-
get_datasource
(datasource_id)¶
-
get_datasources
(filter_secret=False)¶
-
get_driver_info
(*args)¶
-
get_driver_schema
(*args)¶
-
get_drivers_info
(*args)¶
-
get_last_published_data_with_seqnum
(table)¶ Method that returns the current seqnum & data for given table.
-
get_snapshot
(table)¶ Method that returns the current data for the given table.
Should be overridden.
-
info
¶
-
is_valid_service
(service_id)¶
-
make_datasource_dict
(*args, **kwargs)¶
-
publish
(table, data, use_snapshot=True)¶
-
receive_data
(publisher, table, data, is_snapshot=True)¶ Method called when publication data arrives.
Instances will override this method.
-
receive_data_sequenced
(publisher, table, data, seqnum, is_snapshot=False, receipt_time=None)¶ Method called when sequenced publication data arrives.
-
rpc
(service, action, kwargs=None, timeout=None, local=False, retry=None)¶
-
rpc_endpoints
()¶ Return list of RPC endpoint objects to be exposed for this service.
A DataService may include zero or more RPC endpoints to be exposed by the DseNode. Each endpoint object must be compatible with the oslo.messaging RPC Server.
-
start
()¶ Start the DataService.
This method is called by a DseNode before any RPCs are invoked.
-
status
¶
-
stop
()¶ Stop the DataService.
This method is called by a DseNode when the DataService instance is no longer needed. No RPCs will invoked on stopped DataServices.
-
subscribe
(service, table)¶
-
subscriber_list
()¶ Method that returns subscribers list.
It returns list of services subscribed to this service data.
-
subscription_list
()¶ Method that returns subscription list.
It returns list of tuple that represents the service’s subscription. The tuple forms following format: (service_id, table_name).
-
unsubscribe
(service, table)¶
-
wait
()¶ Wait for processing to complete.
After a call to stop(), the DataService may have some outstanding work that has not yet completed. The wait() method blocks until all DataService processing is complete.
-
class
congress.dse2.data_service.
DataServiceEndPoints
(service)¶ Bases:
object
-
get_last_published_data_with_seqnum
(context, table)¶ Function called on a node when an RPC request is sent.
-
get_snapshot
(context, table)¶ Function called on a node when an RPC request is sent.
-
ping
(client_ctxt, **args)¶ Echo args
-
-
class
congress.dse2.data_service.
DataServiceInfo
(service_id=None, node_id=None, published_tables=None, subscribed_tables=None, rpc_endpoints_info=None)¶ Bases:
object
Metadata for DataService on the DSE.
- Attributes:
- service_id: The ID of the service. node_id: The ID of the node the service is running on. published_tables: List of table IDs published by this service. subscribed_tables: List of table IDs this service subscribes to. rpc_endpoints_info: List of RPC endpoints exposed by this service.
-
MARSHALL_ATTRS
= set(['service_id', 'published_tables', 'node_id', 'rpc_endpoints_info', 'subscribed_tables'])¶
-
classmethod
from_dict
(raw_dict)¶
-
classmethod
from_json
(json_string)¶
-
to_dict
()¶
-
to_json
()¶