@ru_python

Страница 8911 из 9768
Nikita
03.05.2019
21:31:33
вот я как раз сейчас мило разлекаюсь с pikа'й

Cykooz
03.05.2019
21:33:44
стоп celery стучится в rabbit?
Дело не в том кто стучится, а в том для чего оно. Celery - оно в основном для синхронных фреймворков. А потому её "клиентская" часть тоже "синхронная" и не может банально следить за херабитами между ней и реббитом. А раз нет херабитов, то легко просирается конект.

Google
Tishka17
03.05.2019
21:34:20
Имхо на сложных проектах от него больше вреда

Cykooz
03.05.2019
21:34:28
В этом списке, кажется, не нужен celery
Нужен, выше написал почему

Tishka17
03.05.2019
21:34:58
Я правда не юзал, но по беглому чтению чата ощущение, что он решает 0 задач и только добавляет проблем по сравнению с ручным использованием очереди

Cykooz
03.05.2019
21:36:10
Нормально он всё решает, только вот в случае сложных заморочек сам ты его не починишь - у него подвал довольно большой и сложный для этого

Cykooz
03.05.2019
21:38:25
У пики есть асинхронные интерфейсы. Ну и да - если там делать "персистентный" конект к реббиту с синхронным интерфейсом, то возможна такая же бяка. Хотя вероятно тут ещё может играть роль наличие локального haproxy - с ним у Celery конект не теряется, а вот от него до реббита - может.

Cykooz
03.05.2019
21:48:23
Вот переведу проект на Python 3 и попробую заменить Celery на Dramatiq - он сильно проще внутри устроен.

Мне всё равно от Celery не нужно ничего, кроме как поставить таску в очередь и выполнить её в воркере

Gtghsts
03.05.2019
21:54:50
Посоветуйте годные фреймворки для написания 2д игруль на питоне. Пайгейм и кокос не зашёл. Годот не предлагать.

Artem
03.05.2019
21:56:32
arcade может быть, но он пока сыроват

Gtghsts
03.05.2019
21:58:13
arcade может быть, но он пока сыроват
А чем он принципиально отличается от пайгейма?

Google
Artem
03.05.2019
21:58:27
http://arcade.academy/pygame_comparison.html

Gtghsts
03.05.2019
22:01:04
Ого, спасибо, а я думал это те же яйца, буду смотреть

Gtghsts
03.05.2019
22:05:40
И тут ещё один вопросик: Насколько вообще осмысленно на питоне игры писать? Как обычно нормальные люди делают: собирают исполняемый файл игры через py2exe и пропихивают куда-нибудь?

Denis
03.05.2019
22:06:35
Обычно игры пишут не на питоне

Gtghsts
03.05.2019
22:07:03
Это я знаю, да, но мы сейчас говорим о меньшинстве нормальных людей

Как бэ я же потом не смогу эту игру на сайт к себе закинуть как обычную флешку

Nikita
03.05.2019
22:10:38
Обычно игры пишут не на питоне
не всегда https://www.panda3d.org/

Gtghsts
03.05.2019
22:11:17
Переформулирую вопрос: как мне поделиться написанной игрой?

Nikita
03.05.2019
22:13:00
скорее всего py2exe

Daniyal
03.05.2019
22:14:32
как в grequest поменять source ip? в request работает import socket true_socket = socket.socket def bound_socket(*a, **k): sock = true_socket(*a, **k) sock.bind(("127.1.1.1", 0)) return sock socket.socket = bound_socket в grequest так уже не работает. В чате для новчиков ответа не получил

Daniyal
03.05.2019
22:34:20
У тебя 2 интерфейса?
физический - один. Но меня интересует только loopback адреса, так что то, что у меня там физически, особой роли играть не должно, я так думаю

Daniyal
03.05.2019
22:46:57
Просто дело в дефолтном маршруте скорей всего
не , не в этом точно, пакеты правильно роутились с теми же адресами на версии, в которой я использовал request. Там вылетали какие-то исклюения, программа валилась. Я хотел сейчас снова воспроизвести ошибку, что бы скинуть подрбную информацию, но почему-то сейчас все работает. Правда с того времени адреса destionation поменяли, а какие были в тот момент, когда у меня все ломалось, я не помню. В общем пока вопрос можно считать условно закрытым, раз ошибка не воспроизводится, если что, переспрошу здесь еще раз с листингом ошибки. Спасибо, что откликнулся

Phil
03.05.2019
22:52:51
??

Сергей
03.05.2019
23:11:21
https://www.youtube.com/watch?v=y3Tpm1LyXfM

Slam! 538
03.05.2019
23:43:01
Как наиболее правильней сделать счетчик, который можно будет менять внутри любой функции и который будет доступен, опять же, из любой?

Tishka17
03.05.2019
23:53:50
Передавать его во все

Roman
03.05.2019
23:54:29
Как наиболее правильней сделать счетчик, который можно будет менять внутри любой функции и который будет доступен, опять же, из любой?
генератор(или что там за счетчик) передавать как аргумент в функции. Можно его хранить и в глобальной области видимости, но не бест практис)

Google
Slam! 538
03.05.2019
23:54:58
Сейчас я сделал через атрибут функции

Передавать его никак нельзя

Roman
03.05.2019
23:55:23
Slam! 538
03.05.2019
23:55:49
Там даже не счётчик, а булев тип

Roman
03.05.2019
23:56:00
присвой его переменной и передавай ее

Slam! 538
03.05.2019
23:56:34
Я передавать не могу) достаю из самой функции

Roman
03.05.2019
23:56:36
только булем неизменяемый, потому запихай в класс

Slam! 538
03.05.2019
23:56:56
Tishka17
03.05.2019
23:57:41
Slam! 538
03.05.2019
23:57:44
Да, думал с помощью класса сделать, но через атрибут функции проще

Tishka17
03.05.2019
23:57:50
Slam! 538
03.05.2019
23:58:05
Tishka17
03.05.2019
23:59:10
Атрибут функции плох как минимум тем, что невозможно заставить одну функцию в разных ситуациях юзать разный счетчик

В отличие от атрибута объекта

Tishka17
04.05.2019
00:00:46
Хуй

Как ты укажешь два атрибута, если функция всегда юзает один и тот же?

def x(): x.smth += 1

Google
Tishka17
04.05.2019
00:01:47
Вот сделай чтобы эта функция в двух случаях считала независимо

А вот тебе с классом: class A: def x(self): self.smth += 1

Когда надо просто два инстанса создаешь и всё

А не надо - юзаешь один

Slam! 538
04.05.2019
00:03:05
Я тебя понял

Объект счетчика

Tishka17
04.05.2019
00:03:50
А если ещё и вместо smth туда сделать DI какого-то счётчика (не числа, а контейнера), то можно ещё и один будет шарить на несколько объектов без проблем в тех ситуациях когда нужно

Главное код функции не меняется. Меняется только то, как ты ее используешь

Slam! 538
04.05.2019
00:04:41
Понял, спасибо

Roman
04.05.2019
00:04:43
Если мне нужно 2, я укажу два
а что там за булев бул вместо счетчика?

Slam! 538
04.05.2019
00:05:21
f.attr = True

Roman
04.05.2019
00:18:51
Ты так и не пояснил ?
неправильно выразился, для синхронизации\передачи данных между функциями присваивай в аттрибут общий объект

Roman
04.05.2019
00:20:18
созданный вне функций и присваемый функциям

Slam! 538
04.05.2019
00:21:11
Мне никаких общих объектов не нужно, мне всего лишь нужен "глобальный" флаг

Google
Slam! 538
04.05.2019
00:21:26
Который я могу менять где угодно

Roman
04.05.2019
00:21:47
внутри функций?

Slam! 538
04.05.2019
00:21:52
созданный вне функций и присваемый функциям
Этот флаг я указываю в самой функции

внутри функций?
И меняю там же)

Roman
04.05.2019
00:27:11
Slam! 538
04.05.2019
00:27:50
Нет, пользуюсь атрибутом функции из двух функций

Одна из которых - родитель этого атрибута

Denis
04.05.2019
00:29:21
А зачем тут вообще атрибуты функций?

Сделай просто переменную

Slam! 538
04.05.2019
00:31:16
Сделай просто переменную
мне её предстоит менять

Denis
04.05.2019
00:31:22
Slam! 538
04.05.2019
00:31:32
Хорошо

Tishka17
04.05.2019
00:31:37
И как функции узнают какую переменную менять?

Страница 8911 из 9768