Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
  • Aug 14 2017 12:49
    @listochkin banned @Rodzimanos
4kpt
@4kpt
Сереж. Зачем битые ссылки постишь?
Se̐rhii Khaly̐mon
@skhalymon
Ой
4kpt
@4kpt
Аааа. Ну над этой статьей не глумились только ленивые.
Se̐rhii Khaly̐mon
@skhalymon
Похоже клавиатура на телефоне решила что написание HTML всегда должно быть большими буквами
@4kpt дай почитать ответочку
4kpt
@4kpt
Да хрен я это найду сейчас.
Там даже Андрюха Светлов не удержался и на этой виборе оттягивался.
Se̐rhii Khaly̐mon
@skhalymon
И как это так успели быстро. Статья свежак
Та при чем тут
@4kpt почитай хоть. Это не та статья о которой ты подумал
4kpt
@4kpt
Ссорян. Я, наверное, на график тригернулся по-привычке уже.
Se̐rhii Khaly̐mon
@skhalymon
У меня тоже была похожая реакция
Mikhail Krivushin
@Deepwalker
Именно над этим и глумились, но частично чувак прав в своём подходе.
AlexandrShinkevich87
@AlexandrShinkevich87

Здравствуйте, подскажите, пожалуйста, как сделать такое, может быть, есть пример.
На питоне читаю очередь (rabbitMq) .С очереди приходят данные по машинам: car_id, ее координаты (latitude, longitude ит.п.). Мне нужно их обрабатывать в несколько потоков. Поэтому я создал dict
car_to_route_trip = {}
заполняю car_to_route_trip[car_id, Route(...)]
обработку в параллели делаю так

new_thread_scheduler = NewThreadScheduler()

def handle_point(imei: str, point: Point):

    def on_next(car_id: str, point: Point):
        if car_id not in car_to_route_trip:
            car_to_route_trip[car_id] = RouteHandler

        car_to_route_trip[car_id].handle(point)
        # какая-то обработка

    subject.subscribe(on_next=on_next(car_id, point),
                      on_error=lambda e: print("Error Occurred: {0}".format(e)),
                      scheduler=new_thread_scheduler)

Как теперь мне подтверждать ack? и правильно ли я обрабатываю car_id в разных потоках?

Yehor Nazarkin
@nimnull
а что мешает навесить несколько процессов-подписчиков на очередь? Это же и будет многопоточная обработка в итоге, по кол-ву подписчиков
без гемора с синхронизацией и shared объектами
ну или делай в конце thread.join() и акай в конце (хотя это не совсем верно, сообщение то ты получил успешно, прост обосрался исполнитель)
AlexandrShinkevich87
@AlexandrShinkevich87
@nimnull , машин может быть, больше 10 тыс. и кол-во будет расти, соответственно, 10 тыс. подписчиков это нормально?
может быть, есть пример обработки сообщений с очереди с помощью RXPy?
Yehor Nazarkin
@nimnull
1) нормально, вопрос как оркестрация организована
2) вместо трединга скорее есть смысл смотреть в сторону asyncio или multiprocessing
3) предлог С используется совместно с его антонимом НА. В случае очередей — скорее данные приходят ИЗ очереди и отправляются В очередь
вопрос — какая цель у параллелизации?
AlexandrShinkevich87
@AlexandrShinkevich87

@nimnull

вопрос — какая цель у параллелизации?
распределить постоянную нагрузку. Сервис собирает сведения о машине (ее координаты, включен двигатель ...). К примеру, сервис понимает, что у машины закончился маршрут, соответственно, все точки (latitude, longutude), где была машина (остановки), должны быть сохранены. Соответственно, я создал dict по каждой car_id (контекст машины это ее путь)

Yehor Nazarkin
@nimnull
ну тогда все же проще скейлить воркерами, которые будут разгребать одну/две очереди, балансировкой можно управлять как на стороне кролика так и поднимая больше процессов. Это проще всего в плане затрат ресуров
даже если тебе нужно разгребать точки одной машины в пределах одного воркера/процесса/контекста исполнения, можно поднастроить это дело, но я бы делал какое-то внешнее хранение состояния
прост зачем усложнять себе задачу впиливая какой-то кастомный шедулер потоков/процессов
AlexandrShinkevich87
@AlexandrShinkevich87

@nimnull т.е. создавать на каждую машину очередь?
к примеру, я использую exchange с типом x-consistent-hash, соответственно, машина будет приходить точно к одному и тому же воркеру.

а у тебя есть готовый пример того, что ты описал? потому что я не совсем понял, прости

Tasia
@TasiaPenkina
Ребят, привет
А у вас есть какие то площадки, где чисто Пайтон вакансии есть?
Есть достойная вакансия, хочу поделиться)
4kpt
@4kpt
В телеге есть
Alexander Pantyukhin
@alexpantyukhin
Добрый день! тулз flake8 может же только показать где ошибка. Можно как-то исправить файл автоматически?
Mykhailo Yusko
@myusko
@alexpantyukhin Нажаль ні.
Mikhail Krivushin
@Deepwalker
Таких тулов честно говоря вообще не видел. Только форматтеры
Mykhailo Yusko
@myusko
Можливо black.
Alexander Pantyukhin
@alexpantyukhin
аа, спасибо!
Mikhail Krivushin
@Deepwalker
Стоит ли дропнуть py2k в трафарете? По стате всё еще какие-то py2k скачивания есть
ну и я не из фашистов – не так уж на самом деле и трудно его поддерживать
конечно можно было бы вычистить булшита с полведерка
@asvetlov ты как эксперт в ттекущих реалиях может можешь подсказать как тут верно поступить?
Andrew Svetlov
@asvetlov
выпиливай смело.
Если кто-то застрял на Python 2 -- он может пользоваться не самой свежей версией трафарета без всяких проблем.
Для пуристов можно обновить версию до trafaret 3.0 чтобы никто не бухтел что сломали жизнь на minor update.
Mikhail Krivushin
@Deepwalker
Версию конечно бампнем
Yehor Nazarkin
@nimnull

Есть такой вопрос. Есть ли возможность на rx как-то раздлял потоки observable по признакам? потому-что я как-то не могу выйти за пределы линейного конвейера. А мне мало движения вниз по воронке с процессингом и нужно параллелиться по разным признакам, чтобы не гонять циклы по 10 раз

ну или писать свой собственный оператор, чтобы вставлять туда такие вот костыли?

Covx
@covx

Всем привет

Ищу Middle Python Developer
вилка $2-3K

компания Lucky Labs, гэмблинг
Работа над сервисом платежей
Гибкий график работы, частичная удаленка

Стек технологий проекта: python 3.x, tornado, django, mongodb, postgresql, rabbitmq, redis.

Что важно от вас:

  • опыт интеграции платежных систем;
  • опыт разработки веб-сервисов на Python;
  • опыт разработки на Python от двух лет;
  • опыт асинхронного программирования;
  • опыт многопоточного программирования;
  • опыт использования реляционных СУБД (особенно полезен опыт работы с PostgreSQL);
  • опыт использования NoSQL-хранилищ (особенно полезен опыт работы с MongoDB);
  • опыт разработки высоконагруженных сервисов;
  • умение тестировать свой код
  • умение работать с Unix/Linux;

Чем предстоит заниматься: в-основном, интеграцией сторонних сервисов, платежных систем;
телеграмм: @cov_x
https://djinni.co/jobs2/159430-middle-python-developer/

Andrey Nikishaev
@creotiv
никто тут с Halide не работал?
julianichka
@julianichka

Всем привет, ищу Senior Python Developer
Компания: MoveUp
Локация: remote
Занятость: fulltime
English Level - Intermediate+
З/п: 4000-5500$ Net
Контакты: телеграм @julia_Nkl
julia.nikolova@moveup.com.ua

We are looking for an experienced server side developer to join our Engineering department. As part
of the team, you’ll be responsible for scaling and managing our data infrastructure, develop
algorithms for business metrics and analyze data.

Responsibilities and Duties

  • Take a lead part in designing and implementing the growth and scale of our systems
  • Understand business problems and build efficient, cost-effective and scalable infrastructure
    solutions
  • Monitor system performance after implementation and iteratively devise solutions to improve
    performance
  • Research and innovate new algorithms based on the data we collect to grow client’s revenue
    opportunities and contribute to company’s intellectual property
  • Data validation for accuracy and completeness of reported business metrics

Qualifications and Skills
— 5+ years server side software development experience
— 2+ years Python and Django experience is a MUST
— 2+ Experience with ELK is a MUST
— Comfortable working in a dynamic environment
— Experience with large scale production systems
— Excellent English and communication skills
Would be a bonus
— Experience with AWS
— Background in Big Data
— Experience with Heroku

GuruJustin
@GuruJustin
Hi everyone.
@nekulin hello.
Dima Kovalchuk
@dima-kov
Хеллоу) Гайз, тут є хтось, хто імплементовував систему сповіщень для юзерів на бекенді?