Форум сайта python.su
Здравствуйте.
У меня есть 2 python скрипта с какой-то логикой.
И мне нужно, что-бы результаты выполнения скрипта №1 сразу-же поступали в качестве вводных данных скрипта №2.
Что лучше всего использовать, что-бы создовать такого рода конвееры?
Офлайн
kodachiЛучше это? Быстрее работает? Проще? Надежнее? Меньше кода? Приносит больше прибыли?….
Что лучше всего использовать, что-бы создовать такого рода конвееры?
Отредактировано doza_and (Май 4, 2021 13:07:22)
Офлайн
Лучше - это меньше кода, надежно и быстрее работает.
Я похоже неправильно выразился. Нужна не только поставка сообщений с данными, а еще и организованная потокобезопасная очередь. Мне товарищ когда-то говорил, что есть какой-то специальное стороннее решение , для организации очередей и поставки сообщений между процессами. Но я не помню название.
Просто можно так-то, данные писать в базу одним процессом, и другим их оттуда забирать и удалять. Но мне говорили, что для этого используется какой-то специальный софт.
Офлайн
kodachiТак не бывает. Мало кода - пожертвуете надежностью. Сделаете надежно, будет много кода
Лучше - это меньше кода, надежно и быстрее работает.
kodachiНу судя по тому как вы выражаетесь вам не нужна никакая очередь. Решений с очередями огромное количество, каждое решает свои задачи. Вы скажите какая у вас проблема, вам возможно скажут как ее решать.
Я похоже неправильно выразился.
Офлайн
kodachiтак у вас ресурс один вам по любому блокировки нужны ну или возможно что то третье (с монопольным доступом к ресурсу) что будет обрабатывать (хз как) запросы этих ваших двух процессов но все ровно это будет или запись или чтение
данные писать в базу одним процессом, и другим их оттуда забирать и удалять.
Отредактировано AD0DE412 (Май 6, 2021 20:43:43)
Офлайн
AD0DE412СУБД обеспечивает надежную запись в персистентное хранилище. Это обычно приводит к большим накладным расходам. Т.е. на постгресе передачу сообщений можно сделать но будет неэффективно. Можно сделать амортизированную персистентность, например соответствующим способом настроив pub/sub в redis. Это даст полтора порядка ускорения. Можно наплевать на надежность очереди и взять например zeromq или nanomsg. При этом получите еще 2-5 раз ускорение. Если система не распределенная то еще быстрее можно сделать на mmap. Но эти быстрые решения совершенно игнорируют информационную безопасность. С точки зрения удобства и информационной безопасности подходит pyro5/pyro4. Но у него с надежностью шляпа.
у вас ресурс один вам по любому блокировки нужны ну или возможно что то третье
Отредактировано doza_and (Май 7, 2021 00:20:15)
Офлайн
незнакомая тема поставлю в очередь
Офлайн