- From: Cranford, Jonathan W. <jcranford@mitre.org>
- Date: Tue, 25 Mar 2014 15:55:54 +0000
- To: "xproc-dev@w3.org" <xproc-dev@w3.org>
- CC: "Costello, Roger L." <costello@mitre.org>
Norm (and anyone else that is familiar with Piperack), I started playing with the Piperack RESTful server bundled with Calabash. I was looking for a long-running Calabash server with a useful API, and it fits the bill perfectly. So now I'm wondering: are there limits to the scalability you can get with Piperack? Specifically: * Looking at the REST API documentation and the code (from the 1.0.16 release), it looks like a single pipeline can't run concurrently in multiple threads; that is, it looks like multiple concurrent requests to http://.../pipelines/foo/run wouldn't work. However, I don't see anything in the code that would prevent concurrent requests from corrupting the state of the pipeline; BaseResource.runProtected(), for instance, looks like a critical section that should be protected from concurrent requests. What prevents multiple concurrent requests to the same pipeline from corrupting the state of the pipeline? * Is there anything in the code that would limit separate pipelines from running concurrently? It looks like Restlet supports it; I'm really asking about any underlying architectural limitations. * If not, is there anything that would prevent multiple pipelines from the same XProc file running concurrently? I'm not looking for hard numbers; I asking more about any inherent architectural limitations I should be aware of that would prevent me from cranking Piperack up to handle, say, hundreds or thousands of messages a second. Thanks in advance, -- Jonathan W. Cranford Senior Information Systems Engineer The MITRE Corporation (http://www.mitre.org)
Received on Tuesday, 25 March 2014 15:56:27 UTC