S
Size: a a a
S
N
СС
СС
М
СС
СС
М
N
N
R
R
JobRepeatException: The job second is exists.
S
CalculationService
. Метод calculateAmountOfUsersInHospital
скорее всего продекорирован как крон-джоба, а nest-schedule запрещает одновременно вызывать одну и ту же джобу и бросает исключение. Вопрос отсюда - как получается, что метод вызывается в разных тестах, но может быть вызван параллельно. Тут возникает специфика jest - он по умолчанию запускает тесты параллельно https://github.com/facebook/jest/blob/master/packages/jest-runner/src/index.ts#L67. Причем старается параллелить через потоки - https://github.com/facebook/jest/blob/master/packages/jest-worker/src/WorkerPool.ts#L40. Поскольку для потоков одно адресное пространство в процессе, то nest-schedule в разных потоках использует одно хранилище для хранения запущенных джоб (статик-метод) https://github.com/miaowing/nest-schedule/blob/master/lib/scheduler.ts#L16, и как результат видит что, одна крон джоба запущена и кидает исключение при попытке запустить другую, пока эта еще не завершилась.R
R
CalculationService
. Метод calculateAmountOfUsersInHospital
скорее всего продекорирован как крон-джоба, а nest-schedule запрещает одновременно вызывать одну и ту же джобу и бросает исключение. Вопрос отсюда - как получается, что метод вызывается в разных тестах, но может быть вызван параллельно. Тут возникает специфика jest - он по умолчанию запускает тесты параллельно https://github.com/facebook/jest/blob/master/packages/jest-runner/src/index.ts#L67. Причем старается параллелить через потоки - https://github.com/facebook/jest/blob/master/packages/jest-worker/src/WorkerPool.ts#L40. Поскольку для потоков одно адресное пространство в процессе, то nest-schedule в разных потоках использует одно хранилище для хранения запущенных джоб (статик-метод) https://github.com/miaowing/nest-schedule/blob/master/lib/scheduler.ts#L16, и как результат видит что, одна крон джоба запущена и кидает исключение при попытке запустить другую, пока эта еще не завершилась.R
CalculationService
. Метод calculateAmountOfUsersInHospital
скорее всего продекорирован как крон-джоба, а nest-schedule запрещает одновременно вызывать одну и ту же джобу и бросает исключение. Вопрос отсюда - как получается, что метод вызывается в разных тестах, но может быть вызван параллельно. Тут возникает специфика jest - он по умолчанию запускает тесты параллельно https://github.com/facebook/jest/blob/master/packages/jest-runner/src/index.ts#L67. Причем старается параллелить через потоки - https://github.com/facebook/jest/blob/master/packages/jest-worker/src/WorkerPool.ts#L40. Поскольку для потоков одно адресное пространство в процессе, то nest-schedule в разных потоках использует одно хранилище для хранения запущенных джоб (статик-метод) https://github.com/miaowing/nest-schedule/blob/master/lib/scheduler.ts#L16, и как результат видит что, одна крон джоба запущена и кидает исключение при попытке запустить другую, пока эта еще не завершилась.MP
RB
ИС
_after
выполнится после теста вне зависимости от результата. Ты, возможно, путаешь с метдом _passed
, который будет выполнен только при успешном прохождении теста.