How the Remote Build server processes build requests
- Receives build requests and files from the client
- Performs character conversions
- Runs builds within its environment
- (Optional) Collects and returns results to the client
On a z/OS MVS™ server
In z/OS MVS, the server load module RCCBLDS receives client build requests. RCCBLDS triggers the JCL member RCCMVS, which runs the RCCBLDW module. RCCBLDW processes your build scripts.
On a z/OS UNIX System Services server
For z/OS UNIX System Services operations, the server load modules RCCINIT and RCCBLDS run in z/OS. RCCBLDS triggers the JCL member RCCUSS, which starts the z/OS UNIX System Services shell script rccbldw.sh. This script starts the executable rccbldw, which processes build requests.
Processing multiple build requests
The server is multithreaded. Each build request starts a new process to handle the build transaction. You can specify the number of concurrent jobs by using the –n runtime option in the RCCRUNM (for z/OS MVS) or RCCRUNU (for z/OS UNIX System Services) JCL or by setting the MAXBUILD= variable in the RSERVER PROC of this JCL member. Concurrency is limited by system resources (such as JES initiators) and workload policies.
If you chose not to install the Remote Build feature on z/OS UNIX System Services, then neither modify nor attempt to run RCCRUNU.
Queuing requests
When the concurrency limit is reached, the server queues any additional requests and submits them on a first in, first out basis. Each queued request uses a TCP/IP socket in a finite pool. The default queue size is 10. You control the queue size with the –q runtime option in the RCCRUNM (or RCCRUNU) JCL.
Setting queue size
The sum of the queue size and the number of concurrent builds should be less than the number of sockets that the server can keep active at a time. Use the following formula to calculate the number of active sockets.
queue_size + concurrent_builds < number_sockets