man ns_job (Fonctions bibliothèques) - commands


ns_job - commands


ns_job option ?arg arg ...?

ns_job create ?-desc description? queueId ?maxthreads?

ns_job queue ?-detached? queueId script

ns_job wait ?-timeout seconds:microseconds? queueId jobId

ns_job waitany ?-timeout seconds:microseconds? queueId

ns_job cancel queueId jobId

ns_job delete queueId

ns_job jobs queueId

ns_job queues

ns_job threadlist

ns_job queuelist

ns_job joblist

ns_job genid


ns_job manages a thread pool and a set of named "queues". Queues have a max number of threads and when the current number of running thread reaches "max" then jobs are queued.

New threads are created when there are less than maxthread number of idle threads.



create ?-desc description? queueId ?maxthreads?

Create a new job queue called queueId. If maxthreads is not specified, then the default of 4 is used.


queue ?-detached? queueId script

Add a new job to the queue. If there are less than maxthreads current running then the job will be started. If there are maxthreads currently running then this new job will be queued.

If detached is true, then the job will be cleaned up when it completes; no wait will be necessary.

The new job's ID is returned.


wait ?-timeout seconds:microseconds? queueId jobId

Wait for the specified queued or running job to finish. wait returns the results of the script.

An error is thrown if the specified timeout period is reached.


waitany ?-timeout seconds:microseconds? queueId

Wait for any job on the queue complete.

An error is thrown if the specified timeout period is reached.


cancel queueId jobId

Remove the specified job from the queue. If the job is currently running, then the job will be removed from the queue when it completes.

1 (true) is returned if the job is currently running and can not be cancelled.


delete queueId

Request that the specified queue be deleted. The queue will only be deleted when all jobs are removed.


jobs queueId

Return a list of the job IDs.


Returns a list of the queues IDs.


Returns a list of the thread pool's fields.

maxthreads Max number of threads for all the queues in the thread pool.

numthreads Number of allocated threads.

numidle Number of currently idle threads.

req stop The thread pools is being stopped. This probably means that the server is shutting down.


Returns a list of the queues. A queue has the following fields:

name Name of the queue.

desc Description of the queue.

maxthreads Max number of threads to run for this queue.

numrunning Number of currently running jobs in this queue.

REQ delete Someone requested this queue be deleted. Queue will not be deleted until all the jobs on the queue are removed.


Returns a list the jobs in the specified queue. A job has the following fields:

id Job's ID

state scheduled The job is schedule to run. running The job is currently running. done The job is has completed.

results If the job has completed, then this field will contain the results. If the job is running or scheduled to run, then this will contain the script.

code When the job is done, this will contain the return code. Codes TCL_OK TCL_ERROR TCL_RETURN TCL_BREAK TCL_CONTINUE

TYPE nondetached detached

REQ none wait cancel


Generate a new unique ID. This new ID can be used as the queue ID without conflicting with any other queue ID.



nsd(1), info(n)