| 1 | == Prerequisites == |
| 2 | |
| 3 | * A working !UltraScan III system. Either download an installer appropriate for your system at [http://www.ultrascan3.uthscsa.edu/download.php] or download the [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/Subversion source code] and follow the [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/BuildInstructions build instructions]. |
| 4 | * A database/LIMS III system. Either request a new instance on our server for your institution at [http://uslims3.uthscsa.edu/uslims3_newlims/request_new_instance.php] or set up your own server using [http://wiki.bcf.uthscsa.edu/ultrascan3/wiki/US3DatabaseInstantiation these instructions]. |
| 5 | |
| 6 | == Setting up Grid Control == |
| 7 | |
| 8 | * Check out the [wiki:Subversion grid control program]. Ideally one would set up a new non-root user for this purpose. |
| 9 | * In the bin directory, copy the config template file to listen-config.php. Fill in all the appropriate information. Many of the variables contain the same information as in the LIMS config.php file, and these should match. |
| 10 | * Open a port to listen for UDP messages. |
| 11 | * Create the socket file and log file. UDP messages queue through the socket file before being picked up by grid control, and the log file is used to record anything out of the ordinary: |
| 12 | |
| 13 | {{{ |
| 14 | mkfifo /path/to/us3-pipe |
| 15 | touch /path/to/udp.log |
| 16 | }}} |
| 17 | |
| 18 | * Start the listen system. This is what listens to the UDP port and dispatches any messages: |
| 19 | |
| 20 | {{{ |
| 21 | /usr/bin/php /home/username/bin/listen.php |
| 22 | }}} |
| 23 | |
| 24 | * If the listen system is running and you want to make changes, you need to stop two programs: |
| 25 | |
| 26 | {{{ |
| 27 | listen.php |
| 28 | manage-us3-pipe.php |
| 29 | }}} |
| 30 | |
| 31 | * You can send your own messages to the listen system for testing. The format of the message should be "db-requestID: message," where db is the name of the LIMS database, and requestID is the LIMS HPCAnalysisRequestID. Messages include "Starting," "Abort," and "Finished" to indicate changes in job status, but they can also include arbitrary text. Take care to include a colon (:) followed by a space. If your system is working messages should be placed in the queue_messages table and ultimately find their way into the appropriate LIMS database and the common data directory. |
| 32 | |
| 33 | {{{ |
| 34 | /usr/bin/php gram.php db-requestID: message |
| 35 | }}} |
| 36 | |
| 37 | * The Grid Control program itself is run as a cron script. It calls cleanup.php as needed. |
| 38 | |
| 39 | {{{ |
| 40 | cd /home/user/bin/; /usr/bin/php /home/user/bin/gridctl.php |
| 41 | }}} |
| 42 | |
| 43 | * Another program run as a cron script is the cluster status program. It updates the usage information on supported clusters so that the user can make a better decision about which cluster to select for the job: |
| 44 | |
| 45 | {{{ |
| 46 | cd /home/user/bin/; /usr/bin/php /home/user/bin/cluster_status.php |
| 47 | }}} |
| 48 | |
| 49 | * Finally, in production the common data directory will fill up with previously-run jobs. It is useful to keep this information for a period of time, but then to consider deleting directories more than a certain age. A cron script is useful for this too. |
| 50 | |