Alex
за исключением некоторых предупреждений вначале, которые к делу скорей всего не отностятся.
Tishka17
Внешне вроде ок
Andrew S
может оно в разных потоках типо
Alex
сфигали?
Alex
а как именно выводишь?
да принт там обычный.
Aragaer
добавь после принта sys.stdout.flush()
Aragaer
я сталкивался с тем, что иногда требуется явный flush, даже если есть ньюлайн
Alex
обычно зависит от того в каком режиме работает сброс буфера, а это в свою очередь зависит от того есть ли tty
Andrew S
в метод слот не заходит вообще
Andrew S
на дебаге
Alex
а ты код в редакторе сохранил? может быть ты что-то редактировал и сохранить забыл?
Alex
бредовое предположение
Tishka17
стоп
Tishka17
https://pastebin.com/WFAF6KUh
у тебя в файле есть GuiLogic, но при жтом ты его импортруешь из другого и юзаешь именно тот
Andrew S
та не, классы в разных файлах
Alex
мне показалось что это он просто несколько файлов в один слил
Dk
добавь после принта sys.stdout.flush()
В тройке вроде у принта параметр flush есть
Andrew S
да
Andrew S
для пастебина
Tishka17
не увидел части импортов
Tishka17
и файлов
Andrew S
эм, я попытался запустить
можно запустить, если поуберать названия модулей перед классами и импорты
Tishka17
я запустил
Tishka17
клики работают
Alex
У меня одного при обновлении PyCharm на 2019.1 распидорасило размеры шрифтов?
Tishka17
я ещё не обновлял
Ivan
вроде нормально всё
Tishka17
https://pastebin.com/WFAF6KUh
а что там не работало?
Alex
может они где-то поддержку dpi "пофиксили"
Andrew S
клики работают
выводит 99999? при клике?
Alex
блядский PyCharm даже настройки шрифтов не сохраняет WTF
Tishka17
нет, выводит клик
Andrew S
ага, а должно еще 999
Alex
зашибись. придется откатиться на 2018 https://intellij-support.jetbrains.com/hc/en-us/community/posts/360003346779-Pycharm-2019-1-won-t-save-custom-font-size
Tishka17
ага, а должно еще 999
а то, что диалога на экране нет - это нормально?
Tishka17
ладно, вроде не влияет
Andrew S
наверное, я наследуюсь просто от QObject
Alex
Попробуй
Roman
Я пишу библиотеку для фильтрации мата (https://github.com/rominf/profanity-filter). Работает не очень быстро (из-за того что глубоко копает): на моём i5 в однопоточном режиме - 150 слов в секунду. Хочу распараллелить. Причём так, чтобы можно было worker-ов запускать на разных машинах. Напрашивается task queue типа Celery. Только вот проблема в том, что мне надо, чтобы в worker-ах крутился экземпляр ProfanityFilter, а это МиБ 50 по памяти. Я хотел задачами делать проверку каждого слова. Передавать ProfanityFilter на каждую задачу - вообще не вариант. А Celery - stateless решение. Может ли кто-нибудь порекомендовать штуку типа Celery, но чтобы я сам писал код worker-ов и они были stateful. То есть я напишу в основном коде scheduler, который при создании ProfanityFilter запустит нужное количество worker-ов, вручит им экземпляры ProfanityFilter, а потом при запуске пользователем функции censor будет выдавать задачи и собирать? Ну или что-нибудь получше предложите, пожалуйста. Пробовал Celery и Dask - ничего хорошего не вышло.
Roman
Можно написать всё руками на ZeroMQ, к примеру, но как-то слишком низкоуровнево получается. Боюсь, что придётся кучу времени на левые вещи потратить из серии перезапуска worker-ов при их смерти.
Denis
Kubernetes!
Roman
Kubernetes!
Это мне? Мне кажется, что это из пушки по воробьям. У меня одна либа, зачем её в Docker пихать? Да и пользователю тоже Kubernetes поднимать? Это ж с ума сойдёшь.
Tishka17
наверное, я наследуюсь просто от QObject
Магия. Не работает. Пробовал разные параметры, разнае типы коннекта
Tishka17
Коннекшн при чем создаётся
Tishka17
Пробовал даже его сохранять
Andrew S
может имя переменной какойто совпадает из уже существующей переменной
Tishka17
Да вряд ли
Andrew S
.
ты смотрел это ?
Tishka17
есть минимальный пример?
Да тот же код пробую
Tishka17
Пойду попробую Pyside2
Alex
ладно, убедили. попробую запустить
Tigran
Это мне? Мне кажется, что это из пушки по воробьям. У меня одна либа, зачем её в Docker пихать? Да и пользователю тоже Kubernetes поднимать? Это ж с ума сойдёшь.
Ты же по факту хочешь stateful сервис. Kubernetes звучит как норм тема. И очереди не нужны, риалтаймовое решение
Roman
Ты же по факту хочешь stateful сервис. Kubernetes звучит как норм тема. И очереди не нужны, риалтаймовое решение
Я хочу библиотеку, которую можно использовать вот так: pip install profanity-filter, потом поставить словари (а вообще планирую в будущем чтобы автоматом по необходимости устанавливались), потом: from profanity_filter import ProfanityFilter pf = ProfanityFilter(['ru', 'en']) pf.censor('Да это shit, блять!') # "Да это ****, *****!"И чтобы это работало на всех ядрах. Kubernetes позволит это сделать, а не заниматься подъёмом кластера час? Я полистал tutorial - мне кажется, что нет.
Alex
эм.... смешались в кучу кони люди
Roman
эм.... смешались в кучу кони люди
Это мне? Если да, то можно по-подробнее?
Alex
> И чтобы это работало на всех ядрах. так запусти пул процессов
Tishka17
На Pyside2 работает аналогично
Andrew S
.
.
Alex
На Pyside2 работает аналогично
дай плиз рабочий код
Alex
чтобы я щас с импортами не заморачивался.
Suren
Лол
Tishka17
Статик метод работает
Tishka17
дай плиз рабочий код
https://paste.ubuntu.com/p/zSpSm63kYX/
Roman
Наверное, нужен ProcessPoolExecutor
Ок, а я смогу в него загнать при создании ProfanityFilter несколько копий на каждый процесс, потом text (при начале цензурирования) и только потом индексы? Пока я не очень представляю как это сделать.
Tishka17
Спрашивается, как вообще должен работать коннект до метода класса, если у него первый аргмуент - инстанс
Roman
Да, через очередь
Спасибо! Ну ОК, тогда может быть можно попробовать. Я правда хотел, чтобы оно масштабировалось на разные машины. Чтобы универсальнее было. Мало ли какие объёмы будут у пользователей... Предложений типа такого же, но с кластером не будет?
Denis
А разные машины это уже кубер
Denis
И если у человека много машин, он готов потратить час на настройку кластера
Roman
А разные машины это уже кубер
http://distributed.dask.org/en/latest/quickstart.html - dask умеет в несколько строчек. Только вот stateful в нём очень фигово реализован.
Alex
кстати
Tishka17
Ну в общем сделай просто в виде rest сервиса и выложи образ в докер
Tishka17
Кому надо поднимет кластер хоть в кубе, хоть в сварме, хоть в номаде
Alex
@Tishka17 а ничего что logic умирает при выходе из __init__?