Итак, у меня есть 2 действия:
- Корабль прибыл
- Корабль b Прибыл
Оба эти действия могут происходить одновременно, конечно, один пройдет сначала через редуктор, а другой - одну.
Но на каждом прибывшем корабле нам нужно убрать немного денег.
Проблема заключается в следующем:
- У меня всего 1 доллар на счету
- Первый корабль прибывает и обновляет корабль и редуктор счета
- Второй корабль прибывает и обновляет корабль, но на счету нет денег. В этом случае я бы не хотел обрабатывать прибытие корабля (это упрощенная версия более широкой картины)
(проверка на деньги производится на уровне создателя действия. При создании 2-го корабля все равно будут считываться предыдущие деньги, что не правильно.)
Теперь вопрос, как это сделать?
Вариант А:
- Есть корневой редуктор, который прослушивает это действие
- Передаст обновление корабля редукторам корабля только в том случае, если на счете сначала есть деньги.
Но мне это не особо нравится, есть ли другие варианты?