Найти - Пользователи
Полная версия: Непрерывная поставка сообщений между процессами
Начало » Python для новичков » Непрерывная поставка сообщений между процессами
1
kodachi
Здравствуйте.
У меня есть 2 python скрипта с какой-то логикой.
И мне нужно, что-бы результаты выполнения скрипта №1 сразу-же поступали в качестве вводных данных скрипта №2.
Что лучше всего использовать, что-бы создовать такого рода конвееры?
doza_and
kodachi
Что лучше всего использовать, что-бы создовать такого рода конвееры?
Лучше это? Быстрее работает? Проще? Надежнее? Меньше кода? Приносит больше прибыли?….

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

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

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

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

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

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

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

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

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

AD0DE412
незнакомая тема поставлю в очередь
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB