Package ai.djl.serving.wlm
Class WorkerThread<I,O>
java.lang.Object
ai.djl.serving.wlm.WorkerThread<I,O>
- All Implemented Interfaces:
Runnable
The
WorkerThread is the worker managed by the WorkLoadManager.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classA Builder to construct aWorkerThread. -
Method Summary
Modifier and TypeMethodDescriptionvoidaddConfigJob(WorkerJob<I, O> wj) Adds a configuration job to this thread.static <I,O> WorkerThread.Builder<I, O> builder(WorkerPoolConfig<I, O> wpc) Creates a builder to build aWorkerThread.ai.djl.DeviceReturns the device used by the thread.longReturns the thread start time.getState()Returns the worker state.Returns theWorkerPoolConfig'sWorkerPoolConfig.ThreadConfigfor this thread.Returns the worker thread ID.intReturns the worker thread ID (number without prefix).booleancheck if this worker is instantiate is one of the fix threads of a pool.booleanReturns true if the worker thread is running.voidrun()voidshutdown(WorkerState state) Shuts down the worker thread.
-
Method Details
-
run
public void run() -
getWorkerId
Returns the worker thread ID.- Returns:
- the worker thread ID
-
getWorkerIdNum
public int getWorkerIdNum()Returns the worker thread ID (number without prefix).- Returns:
- the worker thread ID (number without prefix)
-
getThreadType
Returns theWorkerPoolConfig'sWorkerPoolConfig.ThreadConfigfor this thread.- Returns:
- the
WorkerPoolConfig'sWorkerPoolConfig.ThreadConfigfor this thread
-
isRunning
public boolean isRunning()Returns true if the worker thread is running.- Returns:
- true if the worker thread is running
-
getDevice
public ai.djl.Device getDevice()Returns the device used by the thread.- Returns:
- the device used by the thread
-
getStartTime
public long getStartTime()Returns the thread start time.- Returns:
- the thread start time
-
getState
Returns the worker state.- Returns:
- the worker state
-
shutdown
Shuts down the worker thread.- Parameters:
state- the state to set the thread to
-
addConfigJob
Adds a configuration job to this thread.- Parameters:
wj- the configuration job to add
-
isFixPoolThread
public boolean isFixPoolThread()check if this worker is instantiate is one of the fix threads of a pool. fix threads are not automatically scales down, so they are candidate for down scaling when minWorker/maxWorker size of a model changes.- Returns:
- the fixPoolThread
-
builder
Creates a builder to build aWorkerThread.- Type Parameters:
I- the workerPoolConfig input classO- the workerPoolConfig output class- Parameters:
wpc- theWorkerPoolConfigthe thread will be responsible for- Returns:
- a new builder
-