Classe Service
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
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.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/09/04 (UTC).
[[["Facile à comprendre","easyToUnderstand","thumb-up"],["J'ai pu résoudre mon problème","solvedMyProblem","thumb-up"],["Autre","otherUp","thumb-up"]],[["Difficile à comprendre","hardToUnderstand","thumb-down"],["Informations ou exemple de code incorrects","incorrectInformationOrSampleCode","thumb-down"],["Il n'y a pas l'information/les exemples dont j'ai besoin","missingTheInformationSamplesINeed","thumb-down"],["Problème de traduction","translationIssue","thumb-down"],["Autre","otherDown","thumb-down"]],["Dernière mise à jour le 2025/09/04 (UTC)."],[[["\u003cp\u003eGoogle Protocol RPC services typically use parameterless constructors or factories, but the \u003ccode\u003enew_factory()\u003c/code\u003e method allows for passing state or configuration to the service constructor.\u003c/p\u003e\n"],["\u003cp\u003eA new service object is created for each user request, adhering to the contract that service construction does not take parameters, a condition fulfilled by the factory.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eService\u003c/code\u003e class from \u003ccode\u003eprotorpc.remote\u003c/code\u003e offers class methods like \u003ccode\u003eall_remote_methods()\u003c/code\u003e to get all remote methods, excluding built-in methods, and \u003ccode\u003enew_factory()\u003c/code\u003e to pass configuration or state objects during service creation.\u003c/p\u003e\n"],["\u003cp\u003eService instances have one property, \u003ccode\u003erequest_state\u003c/code\u003e, and one instance method, \u003ccode\u003einitialize_request_state(request_state)\u003c/code\u003e which initializes a RequestState instance.\u003c/p\u003e\n"]]],[],null,["# The Service Class\n\nGoogle Protocol RPC services are constructed either via a constructor or a factory which takes no parameters. However, some applications need to pass some state or configuration into a service across multiple requests. To do this, define parameters to the constructor of the service and use the [new_factory()](#new_factory) class method to build a factory that will transmit parameters to the constructor. For example: \n\n from protorpc import remote\n\n\n class MyService(remote.Service):\n\n def __init__(self, configuration, state):\n self.configuration = configuration\n self.state = state\n\n configuration = MyServiceConfiguration()\n global_state = MyServiceState()\n\n my_service_factory = MyService.new_factory(configuration,\n state=global_state)\n\nThe contract with any service handler is that a new service object is created to handle each user request, and that the construction does not take any parameters. The factory satisfies this condition: \n\n new_instance = my_service_factory()\n assert new_instance.state is global_state\n\n`Service` is provided by the `protorpc.remote` module.\n\nClass Properties\n----------------\n\nServices instances one property:\n\nrequest_state\n: Request state associated with this Service instance.\n\nClass Methods\n-------------\n\nThe Service class provides the following class methods:\n\nall_remote_methods()\n\n: Gets all remote methods for a Service class.\n\n **Note:** Built-in methods do not appear in the dictionary of remote methods.\n\n Returns a dictionary that maps method names to remote methods.\n\nnew_factory(args, \\*\\*kwargs)\n\n: Creates a factory for a service. Useful for passing configuration or state objects to the service. Accepts arbitrary parameters and keywords, however, underlying service must accept also accept not other parameters in its constructor.\n\n **Arguments**\n\n args\n : Arguments to pass to the service constructor.\n\n \\*\\*kwargs\n\n Returns a factory function that creates a new instance and forwards arguments and keywords to the constructor.\n\nInstance Methods\n----------------\n\nService instances have the following methods:\n\ninitialize_request_state(request_state)\n:\n: Arguments:\n\n request_state\n : A [RequestState](/appengine/docs/legacy/standard/python/tools/protorpc/remote/requeststateclass) instance."]]