Exemple #1
0
        public async Task Renew()
        {
            await _logger.WriteInfoAsync(nameof(UserContractsRenewFunction), nameof(Renew), "", "Start user contracts renewing");

            var count = await _contractQueueService.Count();

            for (var i = 0; i < count; i++)
            {
                var contract = await _contractQueueService.GetContractRaw();

                if (string.IsNullOrWhiteSpace(contract))
                {
                    return;
                }
                await _contractQueueService.PushContract(contract);
            }

            await _logger.WriteInfoAsync(nameof(UserContractsRenewFunction), nameof(Renew), "", "Finish user contracts renewing");
        }
        public async Task Execute()
        {
            await InternalBalanceCheck();

            var currentCount = await _contractQueueService.Count();

            if (currentCount < _settings.MinContractPoolLength)
            {
                while (currentCount < _settings.MaxContractPoolLength)
                {
                    await InternalBalanceCheck();

                    var contracts = await _contractService.GenerateUserContracts(_settings.ContractsPerRequest);

                    foreach (var contract in contracts)
                    {
                        await _contractQueueService.PushContract(contract);
                    }

                    currentCount += _settings.ContractsPerRequest;
                }
            }
        }