park :: core :: service :: Request :: Class Request

Class Request

source code


Park service request abstract base class.

Requests have two important attributes: the service name that handles the request and the data that the request needs to process.

There are a number of complications to having client-proxies to server-side services. In particular, the software on the client and the server may be out of sync. The version number is required to synchronize the available versions.

Requests are long lived and so need to be properly curated. The service version number is important for understanding a request that has been saved to a file and reviewed later. See park.util.serial for a more complete discussion.

Ideally requests will be simple objects with a attributes formed from primitive python types. This will make it easier for non-python software to talk to python services. Attributes with leading underscores are ignored when transferring a request to or from a server, or saving and loading from a file.

Instance Methods
 
__init__(self, **kw)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
source code
 
__getstate__(self) source code
 
__setstate__(self, state) source code
 
queue(self)
Queue the request.
source code

Inherited from object: __delattr__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __str__

Class Variables
  service = None
Name of the service which handles the request
  version = None
Version number of the service which handles the request
Properties

Inherited from object: __class__

Method Details

__init__(self, **kw)
(Constructor)

source code 
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
Overrides: object.__init__
(inherited documentation)

queue(self)

source code 

Queue the request. Any information that can be derived at the time the job is queued must be filled in at this point. This may serve to modify the request, for example by filling in the remote filename for the fetching service. This supplies the filename that will be used when the request is satisfied, and which may be required for dependent jobs running on the service.

The modified request will be sent back to the client who submitted the job.

Raises NotImplementedError if there is no work to be done at queue time.