Ho visto in this tutorial section della documentazione di Quartz.NET che dovrebbe essere possibile definire il numero massimo di thread che lo scheduler Quartz utilizzerà. Nel mio caso speciale voglio impostare questo numero su 1. Ma nel documento API non sono riuscito a trovare un modo per accedere all'istanza del threadpool che il mio scheduler sta usando e per impostare qualsiasi proprietà su di esso.Come posso impostare il numero di thread nel threadpool Quartz.NET?
Attualmente il mio codice simile a questo:
ISchedulerFactory schedFact = new StdSchedulerFactory();
IScheduler scheduler = schedFact.GetScheduler();
scheduler.Start();
// Setup jobs and triggers and then call scheduler.ScheduleJob...
C'è qualcuno che sa come posso impostare il numero di thread nel pool?
Grazie per l'aiuto in anticipo!
Nel frattempo ho trovato un'altra soluzione per il mio scopo: ho un solo JobDetail con molti trigger parametrizzati e con l'impostazione di ThreadCount su 1 volevo assicurarmi che i lavori non venissero eseguiti contemporaneamente. (Il mio metodo Execute non è thread-safe.) Ma il modo più diretto per questo sembra essere quello di implementare 'IStatefulJob' invece di IJob quello che ho fatto ora (sembra funzionare come voglio). Ad ogni modo: hai sicuramente risposto alla mia domanda ed è bello sapere per il futuro che esiste un file di configurazione (che non conoscevo fino ad ora) e cosa posso fare con esso. Grazie! – Slauma
Prego! Bit che hai ragione, l'implementazione dell'interfaccia IStatefulJob è la soluzione migliore per le tue esigenze. – jdecuyper
@Slauma: il metodo Quartz.Net 2.x è quello di decorare la classe implementando 'IJob' con' [DisallowConcurrentExecutionAttribute] ' –