Форум программистов, компьютерный форум, киберфорум
C# .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.50/40: Рейтинг темы: голосов - 40, средняя оценка - 4.50
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825

Очередь запросов

11.09.2018, 23:26. Показов 8539. Ответов 44
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, форумчане. Такой вопрос.. Есть софтина, которая обращается к апи одно сервиса, из месяца в месяц обрастала функционалом, когда-то хватало выставить дефолт таймаут между запросами, потом было прикручено регулирование таймаута, но сейчас уже и этого не хватает, т.к из разных функций и потоков, отправляет запросы и таймауты уже не помогают регулировать кол-во запросов в секунду. Из-за превышения ключ сносит, что доставляет небольшой дискомфорт пользователям.
Суть вопроса в том, как сделать какую нибудь очередь запросов в одном месте, чтобы регулировать кол-во отправленных запросов таймаутом из одного места? Надеюсь вы меня поняли.. Для запросов использую xNet
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.09.2018, 23:26
Ответы с готовыми решениями:

Очередь выполнения множества запросов и рано или поздно наступающий StackOverflow
Вообщем имеется очередь выполнения: в очередь кладется команда (например, выполнение sql запроса) и потом в 1 потоке выполняются все...

Web api Управлять очередью запросов динамически (длиной) и как получить url поступившего в очередь запроса
Я так понимаю, что все запросы приходят в HTTP.Sys откуда запрос в виде HTTP.Context поступает на web api. И все параметры HTTP.Sys нужно...

Очередь запросов и их выполнение
Привет, есть метод вида void task(int number), и к нему делаются асинхронные запросы, но из-за свой особенности он не асинхронный и сделать...

44
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
21.08.2019, 14:57  [ТС]
Студворк — интернет-сервис помощи студентам
TopLayer, такой вопрос. Я смогу получить как-то исключение из этого пула? Вот допустим мне придет exeption от xNet - сервер не доступен, исключение же останется только внутри таска, я его никак не смогу обработать?
0
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
21.08.2019, 15:06
Цитата Сообщение от MakcPletnev Посмотреть сообщение
Я смогу получить как-то исключение из этого пула?
Да. С задачей созданной на этом планировщике можно работать точно так же, как и с любой другой задачей.
0
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
22.08.2019, 12:55  [ТС]
TopLayer, насколько это правильное решение? Я буду вместо new HttpRequest().Get(Url).ToString();
вызывать функцию Request(Url);

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public string Request(string Url)
            {
                var task = factory.StartNew(() =>
                {
                    try
                    {
                        if (!string.IsNullOrEmpty(sSetting.APIKEY))
                        {
                            using (HttpRequest req = new HttpRequest())
                            {
                                return req.Get(Url).ToString();
                            }
                        }
                        else
                            throw new Exception("Невалидный ТМ Api ключ");
                    }
                    catch (Exception ex)
                    {
                        //действие с исключением
                        throw ex;
                    }
                });
 
                return task.Result;
            }
0
907 / 664 / 318
Регистрация: 23.10.2016
Сообщений: 1,543
22.08.2019, 13:55
Ну типа того могло бы быть
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
public Task<string> RequestAsync()
{
    if (string.IsNullOrEmpty(sSetting.APIKEY))
    {
        throw new Exception("APIKEY not exists");
    }
 
    return factory.StartNew(() =>
    {
        using (HttpRequest req = new HttpRequest())
        {
            return req.Get(Url).ToString();
        }
    });
}
 
public async void Button1_Click(object sender, EventArgs e)
{
    ((Control)sender).Enabled = false;
 
    try
    {
        label1.Text = await RequestAsync();
    }
    catch (Exception e)
    {
        MessageBox.Show(e.Message);
    }
 
    ((Control)sender).Enabled = true;
}
0
41 / 37 / 9
Регистрация: 01.02.2014
Сообщений: 825
22.08.2019, 14:13  [ТС]
TopLayer, это все не в контролах у меня вызывается, а в функциях, которые считают цены, парсят и т.д. Вроде бы работает как надо. Давно я к этому шел, в тот раз пронесло, а теперь вот понадобилось. Спасибо вам огромное)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.08.2019, 14:13

Очередь отправки get-запросов
Есть get запрос: http://158.4581/sad.php?id=&amp;auth= И есть содержимое в richTextBox1 такого типа: ...

Разработка модели обследования запросов (процессов) с использованием дисциплины, типа Очередь
Разработка модели обследования запросов (процессов) с помощью дисциплины, типа Очередь

Очередь XML запросов
Доброе время суток. Задача: выполнить очередь XML запросов, причем так, чтобы страница была доступна для &quot;кликания&quot; во время...

Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете
Сформировать очередь по файлу целых чисел. Промоделировать очередь в супермаркете. В каждый момент времени происходит одно из событий:...

Очередь (сделать очередь, чтобы добавляло, удаляло, читало. Не STL.)
Помогите пожалуйста написать очередь. Есть Температура double и ее тип int ну и нужно сделать очередь, чтобы добавляло, удаляло, читало....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
45
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru