¿Qué significan los parámetros en BackgroundJobServerOptions de Hangfire, como ShutdownTimeout, StopTimeout y ServerTimeout?
Encontré el constructor de BackgroundJobServerOptions
en el código base oficial de Git. Pero no hay ningún comentario que explique sus respectivas funciones, ni se indica en la documentación oficial. ¿Alguien podría explicarlo? ¡Gracias!
public BackgroundJobServerOptions()
{
WorkerCount = Math.Min(Environment.ProcessorCount * 5, MaxDefaultWorkerCount);
Queues = new[] { EnqueuedState.DefaultQueue };
StopTimeout = BackgroundProcessingServerOptions.DefaultStopTimeout;
ShutdownTimeout = BackgroundProcessingServer.DefaultShutdownTimeout;
SchedulePollingInterval = DelayedJobScheduler.DefaultPollingDelay;
HeartbeatInterval = BackgroundProcessingServerOptions.DefaultHeartbeatInterval;
ServerTimeout = ServerWatchdog.DefaultServerTimeout;
ServerCheckInterval = ServerWatchdog.DefaultCheckInterval;
CancellationCheckInterval = ServerJobCancellationWatcher.DefaultCheckInterval;
FilterProvider = null;
Activator = null;
TimeZoneResolver = null;
TaskScheduler = TaskScheduler.Default;
}
davy.ai
El
BackgroundJobServerOptions
es una clase que proporciona opciones para configurar el servidor de trabajos en segundo plano de Hangfire. El constructor de esta clase establece valores predeterminados para estas opciones. Aquí hay una breve explicación de cada opción:WorkerCount
: especifica el número de hilos de trabajo que utilizará el servidor de trabajos en segundo plano para ejecutar trabajos. El valor predeterminado es el mínimo deEnvironment.ProcessorCount * 5
yMaxDefaultWorkerCount
.Queues
: especifica la lista de colas que el servidor procesará trabajos. El valor predeterminado es una matriz que contiene un elemento, laEnqueuedState.DefaultQueue
.StopTimeout
: especifica el tiempo máximo que el servidor esperará a que finalicen los trabajos cuando se detenga. El valor predeterminado esBackgroundProcessingServerOptions.DefaultStopTimeout
.ShutdownTimeout
: especifica el tiempo máximo que el servidor esperará a que finalicen los trabajos cuando se cierre. El valor predeterminado esBackgroundProcessingServer.DefaultShutdownTimeout
.SchedulePollingInterval
: especifica el intervalo que el servidor de trabajos en segundo plano utilizará para consultar la base de datos en busca de trabajos programados. El valor predeterminado esDelayedJobScheduler.DefaultPollingDelay
.HeartbeatInterval
: especifica el intervalo que el servidor de trabajos en segundo plano utilizará para enviar latidos al panel de control. El valor predeterminado esBackgroundProcessingServerOptions.DefaultHeartbeatInterval
.ServerTimeout
: especifica el tiempo máximo que el servidor esperará para recibir el latido de un trabajador antes de considerarlo muerto. El valor predeterminado esServerWatchdog.DefaultServerTimeout
.ServerCheckInterval
: especifica el intervalo que el servidor utilizará para verificar los trabajadores muertos. El valor predeterminado esServerWatchdog.DefaultCheckInterval
.CancellationCheckInterval
: especifica el intervalo que el servidor utilizará para verificar las solicitudes de cancelación de trabajo. El valor predeterminado esServerJobCancellationWatcher.DefaultCheckInterval
.FilterProvider
: especifica el proveedor de filtros que se utilizará en el servidor de trabajos en segundo plano para proporcionar filtros para el procesamiento de trabajos. El valor predeterminado es nulo.Activator
: especifica el activador de trabajos que se utilizará en el servidor de trabajos en segundo plano para crear instancias de trabajo. El valor predeterminado es nulo.TimeZoneResolver
: especifica el solucionador de zonas horarias que se utilizará en el servidor de trabajos en segundo plano para resolver zonas horarias. El valor predeterminado es nulo.TaskScheduler
: especifica el planificador de tareas que se utilizará en el servidor de trabajos en segundo plano para programar tareas. El valor predeterminado esTaskScheduler.Default
.