МишанЯ
Ну и чём тебе ThreadPoolExecutor не подошёл?
Как он себя поведет, если надо будет в чате от человек 100 принять сообщение и отправить всем исключая адресата. А количество человек я не знаю сколько будет, может сто, больше меньше.
МишанЯ
Грубо - пока у тебя не будет 10000 одновременных юзеров, об асинке можешь не думать
Я пользовался threading, но решил шагнуть вперёд и посмотреть в сторону async, потому то почв как он работает, можно уже будет и игру сделать.
МишанЯ
Ну и чём тебе ThreadPoolExecutor не подошёл?
Как он себя ведёт? Очередь пулов?
Tishka17
Я не знаю как себя поведет ВК когда ты попытаешьмч послать одновременно 100*100 сообщений. Мне кажется, тебя просто срежут по лимитам частоты обращений
Andrey
блин, не могу понять, как работать с модулем threading. сделал функцию, которая принимает один аргумент, есть лист со значениями, которые надо передать этой функции, хочу создавать по треду на каждый аргумент и получается какая-то фигня. for x in all_ips: print(x) my_thread = threading.Thread(target=func, args=(x, )) my_thread.start() и он мне сначала выводит несколько значений, а потом пишет func() takes 1 positional argument but 12 were given
Tishka17
Как он себя ведёт? Очередь пулов?
Пул потоков и очередь задач
Andrey
и так несколько раз с разными значениями числа аргументов
МишанЯ
Пул потоков и очередь задач
Не блокирующие или тут тоже GIL играет в свою игру?
Andrey
Чо
ну самый простой пример, надо обработать кучу аргументов функции, всё как в примерах пишут
Tishka17
Не блокирующие или тут тоже GIL играет в свою игру?
Да забудь ты про GIL. У тебя одно ядро и много сетевых обращений
Tishka17
И чтобы видно было на какую строку ругается
МишанЯ
Я не знаю как себя поведет ВК когда ты попытаешьмч послать одновременно 100*100 сообщений. Мне кажется, тебя просто срежут по лимитам частоты обращений
Нет, там можно до 20 запросов в секунду делать. А в один запрос можно впихнуть всех адресатов, это будет один запрос.
Andrey
И чтобы видно было на какую строку ругается
а, всё, спасибо, запятую потерял в args. Когда писал сюда, то написал как в примере написано и вдруг дошло, что не всё верно. Спасибо за помощь!
МишанЯ
Тогда вообще не вижу проблем. Делаешь пул на 20 потоков и вперёд
Хотелось бы все таки с асинком разобраться.😔
МишанЯ
Так я никогда ничего не выучу, там кусок там...
Tishka17
Когда поймёшь, бери асинк
МишанЯ
А если сразу?😏 Вроде почти почти....
Tishka17
Сначалв пойми как у тебя там все переключается
МишанЯ
МишанЯ
Переключаться при помощи await, но это только в верхней функции...
Avonar
братишки а кто использует vs code для разработки? не могу понять, как заставить его выкидывать автодополнение для переменной log: import logging logging.basicConfig(filename="sample.log", level=logging.INFO) log = logging.getLogger("ex") log. очень много кейcов когда автодополнение просто не показывает методы класса, мб есть какой-то плагин который решит эту проблему?
МишанЯ
Лучше скажи, верно ли я обработку запускаю параллейно основному запросу?
Avonar
kite
спасиб
Ildar
Привет, вопрос по pandas - можно как-то в dataframe, полученном с read_excel, задать значение ячеек в зависимости от цвета? К примеру, если ячейка в excel зеленая, то значение у ячейки должно быть "эта ячейка зеленая ололол". В нете куча примеров как сделать обратную штуку, задать цвет, основанный на значении ячейки, через df.style.applymap, а вот обратно чет не получается найти 😞
Tishka17
А asyncio.wait случайно не блокируется до завершения корутины, которую ему передал?
Kop
Лучше скажи, верно ли я обработку запускаю параллейно основному запросу?
Тв запускаешь не параллельно, асинхронность это не параллельность, смотри в сторону процессов
Bogdan (SirEdvin)
Wait это же корутина
Bogdan (SirEdvin)
А вообще вам нужно или просто создавать задачу и бросать ее в пул или взять aiojobs
Bogdan (SirEdvin)
Для такой задачи
Tishka17
Тв запускаешь не параллельно, асинхронность это не параллельность, смотри в сторону процессов
Да я ему уже ThreadPoolExecutor советовал. Ему хватит. У него все равно одно ядро на сервере и есть ограничение на сетевые запросы
Tishka17
Только не хочет
МишанЯ
Знаю что асинк работает в одном потоке просто переключается с одной функции в другую, чтобы не дожидаться выполнения.
МишанЯ
Если явно указать await ,то произойдёт ожидание а при возможном ещё задании - переключение на него. Но хотелось бы чтоб не ждал, а просто запустил ещё одну и все.
Tishka17
Возможно и так, поэтому у вас и спрашиваю.
Я не силен в асинкио, я просто открыл документацию и прочитал
МишанЯ
Только он переключается не в любой момент :)
А когда явно укажешь await, если не показывать то не должен. Поэтому await и хочу только в функцию обработки поставить, чтоб они там между собой херачились, а основной запрос к серверу не трогали.
МишанЯ
Возьми тв обычные потоки
Уж начал надо лбом упираться и лепить из этого)
Bogdan (SirEdvin)
https://aiojobs.readthedocs.io/en/stable/
МишанЯ
Ты читал про блокирующие функции ?
Немного, а потом при помощи asyncio.gather запускал две. async функции но без await. Функции печатали по слову. Так после запуска скрипт в терминал выдавал сразу ответ с двух функций две строки. Укажешь. await и будут чередоваттся переключение между ними.
SetazeR
SetazeR
если их не эвейтить оно дальше прёт
Mr.Temirlan
Хочу поднять какую нибудь service-desk систему на python, чтобы в случае чего можно было её дописывать под себя, дайте пожалуйста какую нибудь рекомендацию (желательно Open source)
SetazeR
@Tishka17 Вот тестовый код: https://gist.github.com/setazer/f6437c9ff9f4ff1c83e3edcb08e29186
SetazeR
если его так и запускать - получается:
SetazeR
если убрать асинки и эвэйты у in_thread
SetazeR
𝔥
я нашёл как бесплатно скачать Pythonista на iOS ничего при этом не пиратя
𝔥
beta версия
𝔥
Kop
почему?
потом что тебе нужно на таски это раскидать и потом распределить на определенное количество потоков если проблем не хочется и ожидать завершения
Kop
На ios есть питон?
вроде на сайте питона писали, что да
𝔥
На ios есть питон?
очень клёвый IDE
Tishka17
вроде на сайте питона писали, что да
Небось без subprocess и питон выполняется в рамках процесса IDE
Tishka17
А ещё при сворачивании все завершается, да?
Anonymous
Нет
Tishka17
Нет
Как нет? В ios же все при сворачивании завершается
Tishka17
Без интернета работает вообще? :)
Tishka17
http://omz-software.com/pythonista/index.html
Ничего не вижу об этом
Kop
Ничего не вижу об этом
тут больше попробуй и узнаешь)
Tishka17
тут больше попробуй и узнаешь)
У меня девайсов эппл
МишанЯ
Типа так что ли?
МишанЯ
adamfull
Вот чисто из за того что это существует Джони Айв гей
Tishka17
Чёт какая-то хрень с with у тебя