Уведомления

Группа в Telegram: @pythonsu

#1 Май 3, 2021 16:25:59

kodachi
Зарегистрирован: 2021-05-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

Здравствуйте.
У меня есть 2 python скрипта с какой-то логикой.
И мне нужно, что-бы результаты выполнения скрипта №1 сразу-же поступали в качестве вводных данных скрипта №2.
Что лучше всего использовать, что-бы создовать такого рода конвееры?

Офлайн

#2 Май 4, 2021 13:02:51

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

kodachi
Что лучше всего использовать, что-бы создовать такого рода конвееры?
Лучше это? Быстрее работает? Проще? Надежнее? Меньше кода? Приносит больше прибыли?….

Проще сделать третий скрипт. Импортировать в него ваши два. Написать в тетьем скрипте логику вызовов функций и передачи данных.

p.s.
Конвееры ОС и делают средствами ОС. Но тогда вы получаете развлечения с сериализацией десериализацией данных и потерю контроля над буферизацией.



Отредактировано doza_and (Май 4, 2021 13:07:22)

Офлайн

#3 Май 6, 2021 12:05:00

kodachi
Зарегистрирован: 2021-05-03
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

Лучше - это меньше кода, надежно и быстрее работает.

Я похоже неправильно выразился. Нужна не только поставка сообщений с данными, а еще и организованная потокобезопасная очередь. Мне товарищ когда-то говорил, что есть какой-то специальное стороннее решение , для организации очередей и поставки сообщений между процессами. Но я не помню название.

Просто можно так-то, данные писать в базу одним процессом, и другим их оттуда забирать и удалять. Но мне говорили, что для этого используется какой-то специальный софт.

Офлайн

#4 Май 6, 2021 13:37:39

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

kodachi
Лучше - это меньше кода, надежно и быстрее работает.
Так не бывает. Мало кода - пожертвуете надежностью. Сделаете надежно, будет много кода
kodachi
Я похоже неправильно выразился.
Ну судя по тому как вы выражаетесь вам не нужна никакая очередь. Решений с очередями огромное количество, каждое решает свои задачи. Вы скажите какая у вас проблема, вам возможно скажут как ее решать.

Сейчас диалог выглядит так:
- Вы: “У меня проблема передачи данных между приложениями”.
- Вам: “Сделайте одно приложение вместо двух - проблема передачи между приложениями исчезнет”.

По идее вы должны сейчас аргументировать свою позицию – “Два приложения нужны чтобы ….”

Я специально пока не называю никакого софта для организации очередей, чтобы вы не погрузились в гадания на внутренностях кролика пока мы не убедимся что это действительно нужно..



Офлайн

#5 Май 6, 2021 20:36:10

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

kodachi
данные писать в базу одним процессом, и другим их оттуда забирать и удалять.
так у вас ресурс один вам по любому блокировки нужны ну или возможно что то третье (с монопольным доступом к ресурсу) что будет обрабатывать (хз как) запросы этих ваших двух процессов но все ровно это будет или запись или чтение

зы удаление кстати это вроде как запись в как ом то роде



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Май 6, 2021 20:43:43)

Офлайн

#6 Май 7, 2021 00:17:19

doza_and
От:
Зарегистрирован: 2010-08-15
Сообщения: 4138
Репутация: +  252  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

AD0DE412
у вас ресурс один вам по любому блокировки нужны ну или возможно что то третье
СУБД обеспечивает надежную запись в персистентное хранилище. Это обычно приводит к большим накладным расходам. Т.е. на постгресе передачу сообщений можно сделать но будет неэффективно. Можно сделать амортизированную персистентность, например соответствующим способом настроив pub/sub в redis. Это даст полтора порядка ускорения. Можно наплевать на надежность очереди и взять например zeromq или nanomsg. При этом получите еще 2-5 раз ускорение. Если система не распределенная то еще быстрее можно сделать на mmap. Но эти быстрые решения совершенно игнорируют информационную безопасность. С точки зрения удобства и информационной безопасности подходит pyro5/pyro4. Но у него с надежностью шляпа.

Решений огромное множество. Но они сильно отличаются по быстродействию, надежности к отказам оборудования защищенности и удобству использования, простоте установки и конфигурирования.
Информации от ТС о том что он хочет сделать недостаточно…



Отредактировано doza_and (Май 7, 2021 00:20:15)

Офлайн

#7 Май 7, 2021 10:17:43

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

Непрерывная поставка сообщений между процессами

незнакомая тема поставлю в очередь



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version