public async Task ExecuteRequests(int batchSize = 5)
        {
            if (batchSize > 5)
            {
                batchSize = 5;
            }

            var requests = (await GetRequests()).OrderByDescending(x => x.Key).Take(5);

            foreach (var item in requests)
            {
                try
                {
                    //call mockup
                    var response = await ExecuteRequest(item.Value);

                    //delete request from cache
                    var requestToDelete = requests.Where(x => x.Value.Request == item.Value.Request).FirstOrDefault();
                    await cacheAccessor.DeleteRequestsFromCache(requestToDelete.Value);

                    //save response
                    await cacheAccessor.SetResponseToCache(
                        new ResponseItem
                    {
                        Customer    = response,
                        RequestGuid = item.Value.Request
                    });
                }
                catch (Exception ex)
                {
                    continue;
                }
            }
        }