|
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.
|
|
__init__(self,
**kw)
x.__init__(...) initializes x; see x.__class__.__doc__ for signature |
source code
|
|
|
|
|
|
|
|
|
|
|
|
Inherited from object:
__delattr__,
__getattribute__,
__hash__,
__new__,
__reduce__,
__reduce_ex__,
__repr__,
__setattr__,
__str__
|
|
|
service = None
Name of the service which handles the request
|
|
|
version = None
Version number of the service which handles the request
|
|
Inherited from object:
__class__
|
x.__init__(...) initializes x; see x.__class__.__doc__ for signature
- Overrides:
object.__init__
- (inherited documentation)
|
|
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.
|