| | 39 | The server is controlled by a set of pantasks tasks. Work to do is managed through a mysql database. One of the requirements of the server is that it |
| | 40 | support multiple ''projects'' simultaneously so the postage stamp tables are stored in database separate from the project (gpc1) database. Currently the postage stamp |
| | 41 | database is shared with the database that contains the data store tables (ippRequestServer). |
| | 42 | |
| | 43 | A request is "submitted" by adding a row to a table in the postage stamp server database. As they are processed they transition between 3 states. A submitted request |
| | 44 | starts in new state. The first step is parsing the request file creating one or more jobs for each row in the request table. Parsing is a single threaded process and is a significant bottleneck |
| | 45 | for large request files. Once parsing is complete the request is set to state "run". At this point any jobs that were queued are processed in parallel. Finally when all jobs are complete the |
| | 46 | finish processing is performed on the request. This is also a single threaded process. The primary functions of the finish process are to build the results table and register |
| | 47 | the results fileset on the data store. When these operations are successfully completed the request is set to state 'stop'. Since nearly all of the IPP's single frame |
| | 48 | results are not saved (they are cleaned up) the postage stamp server is able to queue images to be regenerated (updated). This step is called dependency processing |
| | 49 | and is performed after parsing. |
| | 50 | |
| | 51 | It is important to understand that the postage stamp system is intimately tied with the IPP. There are a number of characteristics of the system which are tied |
| | 52 | to the way the IPP operates. Many of these things will not be relevant in the public release environment yet they have added significant complexity to the current system. |
| | 53 | * The request specification is quite rich allowing essentially any image ever processed by the IPP to be selected. |
| | 54 | * There are several different selection methods. Many of these methods are rarely used outside of the IfA. |
| | 55 | * Images often must be regenerated and this process must be managed. |
| | 56 | * The input image files are stored in the nebulous file system. |
| | 57 | |