|
@@ -56,10 +56,11 @@ func initAutoScaling(numThreads int, maxThreads int) {
|
|
|
|
|
|
func drainAutoScaling() {
|
|
|
scalingMu.Lock()
|
|
|
+ logger.Debug("shutting down autoscalin", zap.Int("num scaled threads", len(autoScaledThreads)))
|
|
|
scalingMu.Unlock()
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
func AddRegularThread() (int, error) {
|
|
|
scalingMu.Lock()
|
|
|
defer scalingMu.Unlock()
|
|
@@ -77,7 +78,7 @@ func addRegularThread() (*phpThread, error) {
|
|
|
return thread, nil
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
func RemoveRegularThread() (int, error) {
|
|
|
scalingMu.Lock()
|
|
|
defer scalingMu.Unlock()
|
|
@@ -97,7 +98,7 @@ func removeRegularThread() error {
|
|
|
return nil
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
func AddWorkerThread(workerFileName string) (int, error) {
|
|
|
worker, ok := workers[workerFileName]
|
|
|
if !ok {
|
|
@@ -119,7 +120,7 @@ func addWorkerThread(worker *worker) (*phpThread, error) {
|
|
|
return thread, nil
|
|
|
}
|
|
|
|
|
|
-
|
|
|
+
|
|
|
func RemoveWorkerThread(workerFileName string) (int, error) {
|
|
|
worker, ok := workers[workerFileName]
|
|
|
if !ok {
|
|
@@ -254,14 +255,15 @@ func deactivateThreads() {
|
|
|
continue
|
|
|
}
|
|
|
|
|
|
+
|
|
|
|
|
|
- if thread.state.is(stateInactive) && waitTime > maxThreadIdleTime.Milliseconds() {
|
|
|
- logger.Debug("auto-stopping thread", zap.Int("threadIndex", thread.threadIndex))
|
|
|
- thread.shutdown()
|
|
|
- stoppedThreadCount++
|
|
|
- autoScaledThreads = append(autoScaledThreads[:i], autoScaledThreads[i+1:]...)
|
|
|
- continue
|
|
|
- }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|