Vlad
Спасибо всем за помощь!)
і64
Попробуй убрать скобки
і64
Да, там кортеж был?
Vlad
какие из?
Vlad
был кортеж
Vlad
допустим, другой скрипт
Vlad
все отрабатывает замечательно
Vlad
только названия переменных смущают
Nikolay
Топ 5 аниме, вышедших из-под контроля
Туночка️
где?
Туночка️
Ну закинул все в очередь. А потом пусть все берут по одному пока не кончатся
Я сеня утром проснулся и понял что нужно сделать спысы
Туночка️
пашет вроде
Eugene
Подскажите, приходит ответ с сервера в виде: {"content": ""} Пытаюсь обработать с помощью json, выскакивает следующая ошибка: File "/usr/lib/python3/dist-packages/requests/models.py", line 892, in json return complexjson.loads(self.text, **kwargs) File "/usr/lib/python3/dist-packages/simplejson/__init__.py", line 518, in loads return _default_decoder.decode(s) File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 370, in decode obj, end = self.raw_decode(s) File "/usr/lib/python3/dist-packages/simplejson/decoder.py", line 400, in raw_decode return self.scan_once(s, idx=_w(s, idx).end()) simplejson.errors.JSONDecodeError: Expecting value: line 1 column 1 (char 0) Залез в исходники JSON'a – там есть проверка на размер, чтобы он не был пустым. Как правильно обработать пустое value?
Eugene
Ещё раз, что от сервера приходит?
{"content": "", "envelope": "bla-bla"} вот так. Все ноды имеют value, а в content она пустая
Tishka17
Не вижу тут пустоты
Aleksandr
так сделай проверку
Aleksandr
или лови исключение сам
Михаил
Всем привет, у меня возможно глупый вопрос, но хотелось бы услышать правильный ответ, костыли я и сам написал) есть задача цикличного обхода списка из нескольких элементов (в моём случае всего два). Условно есть цикл while, на каждой итерации которого я должен двигаться от первого элемента списка к второму, и от второго снова к первому, и так до тех пор пока логика цикла не будет прервана. Как можно это реализовать проще всего?
Way
Я на одной aiohttp.ClientSession могу делать сразу несколько запросов к разным страницам одного и того же сайта одновременно?
Tishka17
а для зацикливания списков есть itertools.cycle
Михаил
зависит от того что ты вообще делаешь
мне просто нужно что бы каждую иткрацию в переменную попадл объект списка
Tishka17
давай целиком
Vitaliy
Я на одной aiohttp.ClientSession могу делать сразу несколько запросов к разным страницам одного и того же сайта одновременно?
Инстанцируй одну сессию при инициализации проложения, если никакие другие специфичные сессии не будут требоваться в дальнейшем ходе программы + не забудь организовать её корректное закрытие
Way
Инстанцируй одну сессию при инициализации проложения, если никакие другие специфичные сессии не будут требоваться в дальнейшем ходе программы + не забудь организовать её корректное закрытие
ну класс занимается парсингом разных сайтов. Есть ситуация когда сайт один, а строниц несколько. И тогда что-бы не спавнить кучу сессий, я хочу парсить страницы на той-же сессии
Way
Типо 1 домен - 1 сессия
Way
Может ли aiohttp работать одновременно с несколькими страницами 1 сайта?
Vitaliy
Типо 1 домен - 1 сессия
В сессии домен не прописывается. Одну сессию на всю программу
Way
В сессии домен не прописывается. Одну сессию на всю программу
То есть, если я делаю несколько экземпляров класса исходя из кол-ва доменов это не верно?
Vitaliy
То есть, если я делаю несколько экземпляров класса исходя из кол-ва доменов это не верно?
Если у тебя в классе как атрибут прописывается домен, то ты сам понимаешь, что нужно несколько экземпляров
Way
Вопрос идет в кол-ве сессий
Way
1 сессия на 1 домен и я одновременно паршу несколько путей 1 сессия на всю программу 1 сессия на каждую ссылку
Tishka17
Типо 1 домен - 1 сессия
мне кажется, можно даже с несколькими доменами
Vitaliy
Именно
Сам так делаю. А сессию можешь прокидывать как Optional['ClientSession'] аргумент инициализатора
Way
мне кажется, можно даже с несколькими доменами
Просто я предположил, что будет путаться response от сайта
Vitaliy
Если сессию не прокидываешь, то инициализируется своя сессии в твоём коннекторе
Way
response тут не при чем.
Ну или запросы буду в ставать в очередь сессии
Tishka17
путаться могут хэдеры, если будешь дефолтные одновременно менять
Tishka17
а сессия держит очередь?
🍁 Jaŭhien
нет там очереди
Tishka17
мне казалось, сессия - просто хранилище данных между запросами
Way
а сессия держит очередь?
Пул держит очередь запросов к методам
🍁 Jaŭhien
данные сессии могут интерферировать если в многопотоке юзать
Vitaliy
мне казалось, сессия - просто хранилище данных между запросами
Вот именно. Контейнер настроек и ватчер за открытыми респонсами
Vitaliy
путаться могут хэдеры, если будешь дефолтные одновременно менять
Имеется в виду, что *один набор данных для коннектора = одна сессия*
Way
Вот, и я если я выполню в разных тасках по запросу на разные пути к домену, оно выполнится одновременно же на 1 сессии, или сессия будет залочена, пока не пройдет запрос от предыдущего запроса? await ...get("url1") await ...get("url2") await ...get("url3")
Way
Все, круто
Way
Спасибо
Vitaliy
Ты можешь даже asyncio.gather(*(session.get('http://yandex.ru') for _ in range(1000)), loop=loop)
Way
Понял, круто
Way
=)
Vitaliy
Вот только await asyncio.gather
Да не обязательно =) Если у тебя loop.run_forever()
Vitaliy
Значит надо ждать выполнения, да
Alex
Народ, кто-нибудь работал асинхронно с Oracle? посоветуйте драйвер, ничего не могу найти
Tishka17
насколько знаю, нету
Туночка️
Ошибка сегментирования (стек памяти сброшен на диск) что это и где на диске искать этот стек?
Aragaer
это оно так кордамп обозвало?
Aragaer
скорее всего нигде, надо сначала разрешить запись кордамопв
Spirit
увожаемые сеньоры. подскажите пожалуйста. чем датаклассы отличаются от pydantic?
Spirit
ни то ни другое не юзал, интересуюсь
Tishka17
датаклассы - встроенные классы. Тупо хранят данные
Tishka17
pydantic - аналог marshmallow
Spirit
ну как я понял, pydantic это реализация структур из строго типизированных яп, нет?
Spirit
или послаще
Рустам
Привет, ковыряю rq и застрял. Не могу вытащить результаты из redis. Они сериализуются через pickle (да-да, но переписывать все на другую библиотеку я пока не готов). При попытке просто подключиться к базе, получить и десеарилизовать объект выдает: _pickle.UnpicklingError: pickle data was truncated и этом внутри у объекта, который модуль собирает для записи в базу: if self.exc_info is not None: obj['exc_info'] = zlib.compress(str(self.exc_info).encode('utf-8')) Пробовал вот так - trace = r.hget(name='rq:job:8c07f129-1b7b-4d5c-8677-0bd218110693', key='exc_info') data = pickle.loads(zlib.decompress(trace), fix_imports=True, encoding="utf-8", errors="strict") При этом если брать объект, созданный через obj['data'] = zlib.compress(self.data) то он нормально десериализуется без проблем. Там примерно с килобайт данных. Что может быть не так?
Tishka17
покажи как пиклишь
Рустам
Так вот же - ниже строки "пробовал так"