Похоже, протокол по COM/Ethernet идентичный. Можно брать за основу pyshtrih и, наследуясь от Device, заменить подключение через com на установку tcp-соединения. В теории, сработает.
Muxauko, нет, блокировки нужны на уровне БД с применением транзакций.
Чтобы что-то еще сказать, хорошо бы указать какие операции с базой асинхронно не работают (один простой UPDATE может выполняться без последствий), какой движок БД используется (так как InnoDB уже по умолчанию все запросы выполняет транзакционно), в какую ошибку вываливается. Там один UPDATE или ещё какие-то запросы?
Muxauko, хм, понятно. Это вопрос не к драйверу, или языку, а к тому как вы с SQL работаете. Используйте блокировку на строках которые меняете, используйте транзакции для атомарных изменений. Вариантов решения много - они будут зависеть от вашей бизнес-логики.
Главной таблицей для paragraph является manual - оставьте язык только в manual.
Связь author и manual - один ко многим. И тут зависит от того как создается новая запись в авторах. Если автор заводится отдельно от мануала = поле lang ему нужно для упрощения последующеего связывания с мануалом в качестве фильтра. Если автор создается одновременно с мануалом и просто матчится по имени - lang можно опустить, в нем нет смысла. В особенности в приведенном примере, где en и de написание имени автора идентичны.
Виталий Гусев, Спарк - коммерческий продукт,
как работает smart-search в деталях - публично неизвестно. Стоит обратиться в поддержку спарка с проблемой поиска, как они и пишут в своей доке.
Можно проверить на стороне сервера - используется ли imap search. Если нет - то это чисто кривизна клиента. Если использует - значит ещё можно покрутить конфигурацию сервера, в надежде что это как-то поможет Спарку. Кстати, какой у вас IMAP сервер?
kaw1994, ssh позволяет строить туннели, пробрасывать порты или выступать в качестве socks-proxy. Поэтому , установив туннельное соединение с таким сервером, далее можно подключаться любым другим TCP протоколом.
kaw1994, если это под ваши задачи - космолет, то стандартный способ - обычная виртуалка с linux. Администраторы по ssh/vnc /rdp подключаются к виртуалке и только с нее могут администрировать весь парк железок. Т.е. железки должны принимать подключения только с этого сервера или определенного management VLAN, в котором они все находятся, а сервер управления туда смотрит одним из своих интерфейсов.
Важно такую виртуалку защитить от установки левого ПО и доступов в интернет.
Ещё бы понимать что в этих таблицах, какие ещё поля. Возможно эта проблема в денормализованной без необходимости базе данных и эти две иаблицы следует слить в одну. И проблема с необходимостью union уйдет
Это учебная задача? Если нет, то почему бы не отдать исполнение этих задач какому-нибудь Airflow, ограничив в нем параллелизм для исполняемых задач.
Все скрипты можно выстроить друг за другом и выполнить 1 раз в сутки всю цепочку. Не вижу противоречий ни с одним из указанных в вопросе ограничивающих факторов. Видимо, есть все-таки еще критерии? Вроде того, что скрипт не должен стартовать позже чем N минут от назначенного времени? Что-то еще?
Уметь должен, понимать должен. Заниматься - зависит от конкретной команды, компании.
Где-то разработчики только и умеют что код писать - там у них няньки-девопсы и проект соберут, и настрою, и задеплоют.
Где-то Девопсы предоставляют только платформу, инструменты и отвечают за инфраструктуру, а сборки, пайплайны, деплой и за работу кода в продакшене ответвенены разработчики.
Просто как вариант - можно использовать этот VPN сервер (и клиент, при желании) https://www.softether.org/
Функционал NAT можно будет в таком случае использовать на самом сервере VPN. Возможно, упростит в целом конфигурацию.