private async Task PenaltyWorker(CancellationToken cancellationToken)
        {
            try{
                var penalties = await _repository.GetActivePenalties(cancellationToken);

                foreach (var penalty in penalties)
                {
                    if (cancellationToken.IsCancellationRequested)
                    {
                        return;
                    }
                    try{
                        _logger.LogInformation($"PenaltyWorker: Start process penalty: {penalty.Id}");
                        await _penaltyProcessor.Process(penalty, cancellationToken);

                        await _repository.Save(penalty);

                        _logger.LogInformation($"PenaltyWorker: End process penalty: {penalty.Id}");
                    }
                    catch (Exception e) {
                        _logger.LogError(e, $"PenaltyWorker: {e.Message}");
                    }
                }
            }
            catch (Exception e) {
                _logger.LogError(e, $"PenaltyWorker: {e.Message}");
            }
        }