Произошло необработанное исключение типа «System.StackOverflowException» в Hangfire.AspNetCore.dll - PullRequest
0 голосов
/ 22 октября 2018

У меня есть приложение asp.net core 2.1 с Hangfire 1.6.2 и Hangfire.MySql.NetCore 1.0.7.Есть одно задание, которое, когда оно ставится в очередь в тринадцатый или четвертый раз, приложение выдает это исключение и выключается;An unhandled exception of type 'System.StackOverflowException' occurred in Hangfire.AspNetCore.dll на данный момент это ставится в очередь.Другие фоновые задания также следуют этому шаблону.Задания успешно ставятся в очередь, и исключение генерируется, когда задание активируется в очередь обработки.Вот журнал, который появляется прямо перед выдачей исключения, и это то же самое время, когда задание активируется.Это указывает на некоторые проблемы с распределенной блокировкой;

Hangfire.MySql.MySqlDistributedLock:Trace: MySqlDistributedLock resource=JobQueue, timeout=00:00:30
Hangfire.MySql.MySqlDistributedLock:Trace: Release resource=JobQueue
Hangfire.MySql.MySqlDistributedLock:Trace: MySqlDistributedLock resource=job:16:state-lock, timeout=00:15:00
Hangfire.MySql.MySqlDistributedLock:Trace: Acquire resource=job:16:state-lock, timeout=00:15:00
Hangfire.MySql.MySqlWriteOnlyTransaction:Trace: SetJobState jobId=16
Hangfire.MySql.MySqlWriteOnlyTransaction:Trace: PersistJob jobId=16
Hangfire.MySql.MySqlDistributedLock:Trace: Release resource=job:16:state-lock
An unhandled exception of type 'System.StackOverflowException' occurred in Hangfire.AspNetCore.dll

После перезапуска я перехожу на панель управления hanfire и вижу, что задание застряло в состоянии «обработка» enter image description here

1 Ответ

0 голосов
/ 20 декабря 2018

В консоли диспетчера пакетов выполните следующую команду:

Install-Package HangFire.Core -Version 1.6.21
...