Похожие чаты

Зачем тебе вообще ивенты алхимии?

8 ответов

28 просмотров

Спасибо. get_model() - это функция получения объекта модели, в монолите на фласке... Мне нужно привязаться к изменению полей сущностей карточки Контрагента( био дата, адрес, контакты и тд) К сожалению, монолит, с которым я работаю не отправляет гарантированный сигнал после коммита сущности.

Alexander
Спасибо. get_model() - это функция получения объек...

Alexander, Вы увеличили карму Pavel Павлик до 1066.93 (+7.07)

Pavel-Павлик Автор вопроса

Тогда не нужно использовать ивенты алхимии

Pavel Павлик
Тогда не нужно использовать ивенты алхимии

я пытаюсь решить проблему: когда сохраняется или обновляется контакт/контрагент у этой сущности, в ядре монолита делаются флаши, и потом коммит. Но он не гарантирован, выходит, что подписываться к их сигналу нельзя. Грубо говоря: 1) Вася меняет свою фамилию в своей карточке 2) Диспетчер слушает сигнал (document_saved) 3) Передаёт id Сущности в микросервис через редис 4) микросервис хреначит в БД и собирает нужные поля для дальнейшего формирования JSON и отправки в другие интеграции. Проблема: на микросервис приходит ID сущности раньше, чем успел примениться коммит. Асинхронные задержки после получения ID выставлять некорректно и ненадёжно, чтоб таким образом оттянуть запрос к БД и сборку новых полей.

Pavel Павлик
Тогда не нужно использовать ивенты алхимии

я, кстати, ещё вот так думал решить проблему @event.listens_for(Contractor, 'after_commit') def receive_after_commit(session): print('after commit') но у нас легаси и используется: Flask-SQLAlchemy==2.4.4 SQLAlchemy==1.3.18 а там нету 'after_commit'

Alexander
я, кстати, ещё вот так думал решить проблему @...

sqlalchemy.exc.InvalidRequestError: No such event 'after_commit' for target '<class 'models.Contractor'>'

Pavel-Павлик Автор вопроса
Alexander
я пытаюсь решить проблему: когда сохраняется или о...

Ну, так ивенты алхимии тут ни при чем. Просто отправляй все ивенты после коммита и все

Похожие вопросы

Обсуждают сегодня

Hey everyone! I won’t focus too much on what this person said (it’s clear they don’t understand the scope of what TF and TELOSX are achieving), but I’ll put it simply for thos...
Ana Ojeda
3
как правильно удалить сддм? прописал в etc/portage.use/plasma-meta -sddm , но при обновлении юзов мне предлагает поставить lightdm (ещё лучше 😡), добавил туда - display-manage...
REDis
25
Telos is at a pivotal moment. While ambitious projects like zkEVM and SNARKtor have shown promise, the delay in delivering EVM 2.0—a cornerstone of the ecosystem—is a growing ...
Trinidad
8
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
#include <stdio.h> #include <stdlib.h> #include <time.h> void mass_first_generate(int mass[5][7]) {     for (int N = 0; N < 5; N++) {         for (int A = 0; A < 7; A++) {   ...
Чувак
6
Всем привет! Решаю 99 OCaml Problems и столкнулся со следующей проблемой (прошу палками не забивать, я OCaml практически не трогал до этого момента): open OUnit2 let create_...
К|/|pи/\/\ 6е3yглbIи
2
Except the wealthiest, people that buy crypto want to "cash out" at the end of the day, one way or another. Converting to fiat is craziness, converting to BTC is unwise. Hold ...
Erdelanax
2
Hello guys, hope you can help me with a quick question. I've staked some ZIL using Atomic Wallet some while ago and wanted to claim my rewards and unstake it. Atomic Wallet sa...
Martin | #bornbrave
14
Ready for some fun AND a chance to win TKO Tokens? Join us for exciting minigames in our Telegram group! 🕒 Don’t miss out—games start on today 25 October 2024, at 8 PM! Ge...
Milkyway | Tokocrypto
255
https://www.linkedin.com/posts/ugama-benedicta-kelechi-codergirl-103041300_mobiledevelopment-fluttertraining-handsonlearning-activity-7263445699227254784-IdHB?utm_source=share...
CoderGirl
16
Карта сайта