Classe Service

Les services RPC du protocole Google sont créés soit par un constructeur, soit par une fabrique n'utilisant aucun paramètre. Toutefois, certaines applications doivent transmettre un état ou une configuration à un service via plusieurs requêtes. Pour ce faire, définissez les paramètres du constructeur du service et utilisez la méthode de classe new_factory() pour créer une fabrique qui transmet des paramètres au constructeur. Exemple :

from protorpc import remote

class MyService(remote.Service):

    def __init__(self, configuration, state):
        self.configuration = configuration
        self.state = state

configuration = MyServiceConfiguration()
global_state = MyServiceState()

my_service_factory = MyService.new_factory(configuration,
                                           state=global_state)

Le contrat avec un gestionnaire de services implique la création d'un objet de service pour gérer chaque requête utilisateur et qu'aucun paramètre ne soit exigé par la construction. La fabrique répond à cette condition :

new_instance = my_service_factory()
assert new_instance.state is global_state

Service est fourni par le module protorpc.remote.

Propriétés des classes

Les instances de services ont une propriété :

request_state
État de requête associé à une instance de service.

Méthodes des classes

La classe Service fournit les méthodes de classes suivantes :

all_remote_methods()

Récupère toutes les méthodes distantes pour une classe Service.

Remarque : Les méthodes intégrées n'apparaissent pas dans le dictionnaire des méthodes distantes.

Renvoie un dictionnaire qui fait correspondre les noms des méthodes aux méthodes distantes.

new_factory(args, **kwargs)

Crée une fabrique pour un service. Utile pour transmettre les objets de configuration ou d'état au service. Accepte des paramètres et mots-clés arbitraires. Toutefois, le service sous-jacent ne doit pas accepter d'autres paramètres dans son constructeur.

Arguments
args
Arguments à transmettre au constructeur du service.
**kwargs

Renvoie une fonction de fabrique qui crée une instance et transmet les arguments et les mots-clés au constructeur.

Méthodes des instances

Les méthodes des instances de la classe Service sont les suivantes :

initialize_request_state(request_state)
Arguments :
request_state
Instance de RequestState.