Size: a a a

2020 December 02

ИК

Иван Кривошеев... in rannts
Kirill (Cykooz) Kuzminykh
Что думаете насчёт того, что бы использовать shared memory для реализации "распределённых" локов для использования их в нескольких процессах запущенных на одном хосте? Насколько это рабочая схема?
Вообщем нормальная идея, у Линукса даже апи есть для локов в шареной памяти
источник

БС

Байт Словович... in rannts
а локи и не должны быстро работать...
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ну если что бы создать или проверить лок надо делать системный вызов для работы с файлами, то это как-то совсем выглядит медленно
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Ну и кроме локов я ещё хочу как-то посылать "сигналы" другим процессам. Например что бы они освободили лок, и другой процесс мог занятся работой с ресурсом, который был под локом.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Так-то  в модуле multiprocessing есть Lock(), но его надо создавать в "мастер-процессе" и передавать через аргументы при создании дочерних процессов питона. А мне надо просто "именные" локи, которые можно в рантайме создавать, и что бы в другом процессе нельзя было захватить лок с таким же именем.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Не очень хочется поднимать Redis ради такого дела.
источник

AM

Artem Malyshev in rannts
Kirill (Cykooz) Kuzminykh
Что думаете насчёт того, что бы использовать shared memory для реализации "распределённых" локов для использования их в нескольких процессах запущенных на одном хосте? Насколько это рабочая схема?
Вроде это как самый правильный путь, которы молдфаги ходили.
источник

RH

Roman Haritonov in rannts
Kirill (Cykooz) Kuzminykh
Что думаете насчёт того, что бы использовать shared memory для реализации "распределённых" локов для использования их в нескольких процессах запущенных на одном хосте? Насколько это рабочая схема?
В винде точно есть Mutex и Semaphore, которые можно по имени проверять. В линуксе наверное тоже должно быть. Быстрое гугление вот такое находит https://stackoverflow.com/questions/32338732/system-wide-global-variable-semaphore-mutex-in-c-linux
источник

A

Alla in rannts
Kirill (Cykooz) Kuzminykh
Ну и кроме локов я ещё хочу как-то посылать "сигналы" другим процессам. Например что бы они освободили лок, и другой процесс мог занятся работой с ресурсом, который был под локом.
вроде подобное делала при помощи незабвенного boost. Видела подобное решение на чистом С, но на сколько геморройно это реализовывать и на сколько устойчиво будет - не знаю. Если хочешь посылать сигналы между процессами, то можно посмотреть в сторону dbus или чего-то на подобии wamp роутера.
источник

RB

Roman Bolkhovitin in rannts
Kirill (Cykooz) Kuzminykh
Не очень хочется поднимать Redis ради такого дела.
Зачем редис, подними консул, будь модным. Там и консистентное хранилище и подписки на события в нем, прям все что надо. Ну или etcd
источник

RB

Roman Bolkhovitin in rannts
источник

KK

Kirill (Cykooz) Kuzm... in rannts
У меня и так уже вертолёт в котором Python с asyncio, MongoDB, Envoy, Varnish и Nginx. И всё это запускается на одном хосте.
источник

KK

Kirill (Cykooz) Kuzm... in rannts
Кубернетоса не хватает только 😊
источник

💭П

💭 Руслан Прохоров... in rannts
Kirill (Cykooz) Kuzminykh
Кубернетоса не хватает только 😊
Нееее, тебе всё на винду надо :-)
источник
2020 December 03

A🌚

Al 🌚l in rannts
Kirill (Cykooz) Kuzminykh
Кубернетоса не хватает только 😊
И редиса
источник

A🌚

Al 🌚l in rannts
Его тоже куда ни попадя пихают сейчас)
источник

A🌚

Al 🌚l in rannts
А, кафка еще
источник

AM

Artem Malyshev in rannts
Al 🌚l
Его тоже куда ни попадя пихают сейчас)
Redis is the new sqlite.
источник

NS

Nick Shevrov in rannts
А никто случайно не знает про курсы по Python от компаний в НН?
источник

NS

Nick Shevrov in rannts
Auriga/EPAM/Netcracker/etc.
источник