|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
Насколько я понял, можно поступить двумя способами: 1. Последовательно запустить две асинхронные задачи (сначала ПОЛНОСТЬЮ выполнится первая задача и только потом вторая): Код: python 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
2. Запустить несколько задач параллельно: Код: python 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.
А можно как- то по мере выполнения нескольких задач понять, что они не полностью загружают систему и добавить еще нагрузки? Т.е. чтобы получилось динамически менять нагрузку на систему. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2019, 11:11 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
AlekseySQLони не полностью загружают системуКак Вы предполагаете оценивать полноту загрузки - по системному Load Average или по заранее заданному предельно допустимому суммарному уровню загрузки с учетом некоторого коэффициента от каждого вида задачи? Первый способ довольно медленный и инерционный, во втором весьма сложно, а то и невозможно учесть другие процессы. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2019, 11:45 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
vkleAlekseySQLони не полностью загружают системуКак Вы предполагаете оценивать полноту загрузки - по системному Load Average или по заранее заданному предельно допустимому суммарному уровню загрузки с учетом некоторого коэффициента от каждого вида задачи? Первый способ довольно медленный и инерционный, во втором весьма сложно, а то и невозможно учесть другие процессы. Я делаю запросы к интернет- серверу через определенные промежутки в установленных лимитов на количество запросов. Тогда я запущу еще потоки, которые будут делать параллельно запросы так, чтобы их общее количество не превышало лимиты сервера. Это очень похоже на менеджеры загрузки, которые запускают сразу несколько потоков. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2019, 12:28 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
UPDATE: Я делаю запросы к интернет- серверу через определенные промежутки времени, таким образом чтобы оставаться в рамках установленных лимитов на количество запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2019, 12:33 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
AlekseySQLв рамках установленных лимитов на количество запросовВот это вполне понятно. Где-то есть число, которое показывает максимальное количество запросов в единицу времени. Или число, указывающее количество запросов до истечения учетного периода. Как вариант, это значение можно определить или вычислить, анализируя ответы сервера, например, контролируя в ответе сообщение об ошибке превышения лимитов. AlekseySQLлимиты сервераА вот это, как раз, и не понятно. Можете пояснить, что это такое и откуда его взять можно? ... |
|||
:
Нравится:
Не нравится:
|
|||
07.01.2019, 16:52 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
vkleAlekseySQLв рамках установленных лимитов на количество запросовВот это вполне понятно. Где-то есть число, которое показывает максимальное количество запросов в единицу времени. Или число, указывающее количество запросов до истечения учетного периода. Как вариант, это значение можно определить или вычислить, анализируя ответы сервера, например, контролируя в ответе сообщение об ошибке превышения лимитов. AlekseySQLлимиты сервераА вот это, как раз, и не понятно. Можете пояснить, что это такое и откуда его взять можно? Да что вы в эти ЛИМИТЫ уперлись? Я их ЗНАЮ! Мне надо уметь добавлять/удалять асинхронную задачу "на лету" с помощью asyncio. Не заранее сформировать массив с определенным количеством задач, а добавлять / удалять в процессе работы программы (анализируя скорость ответов сервера). ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 09:01 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
AlekseySQLДа что вы в эти ЛИМИТЫ уперлись? Я их ЗНАЮ!Вообще то, Вы в самом первом посте задали вопрос именно про полноту загрузки системы: AlekseySQLА можно как- то по мере выполнения нескольких задач понять, что они не полностью загружают систему и добавить еще нагрузки? ... |
|||
:
Нравится:
Не нравится:
|
|||
09.01.2019, 10:04 |
|
Как добавлять асинхронные задачи по мере их необходимости?
|
|||
---|---|---|---|
#18+
Напишу ответ для будущих поколений. Метод Код: python 1.
не только создает задачу, но и запускает ее в текущем event loop-е. Так что достаточно просто создать новую задачу, чтобы повысить нагрузку на систему. По мере ее завершения нагрузка уменьшится. ... |
|||
:
Нравится:
Не нравится:
|
|||
11.01.2019, 06:01 |
|
|
start [/forum/topic.php?fid=23&fpage=18&tid=1460039]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
39ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 122ms |
0 / 0 |