在使用Commanded和Phoenix生成的事件源应用程序中,在部署到生产环境(Heroku)后处理命令期间,我们得到了consistency_timeout
。
以下是日志输出:
[debug] Processing with Web.CountryController.select_country_for_mission/2
[info] Invoicing.Commands.SelectCountryForMission dispatch start
[debug] Locating aggregate process for `Invoicing.Mission` with UUID "mission-23"
[debug] Invoicing.Mission<mission-23@4> executing command: %Invoicing.Commands.SelectCountryForMission{mission_id: "23", country_id: "42"}
[debug] Appended 1 event(s) to stream "mission-23"
[info] Invoicing.Commands.SelectCountryForMission succeeded in 180ms
[warn] Consistency timeout waiting for aggregate "mission-23" at version 5
如果我两次提交表单,则其中一个命令已成功处理-但读取模型仍未更新。几分钟后,问题在生产中消失了。在我的机器上,问题似乎没有消失。
应用程序使用带有Ecto投影命令的事件存储。
版本:
答案 0 :(得分:1)
我不熟悉Heroku部署,但是您正在运行多个节点吗?如果是,那么如何配置命令存储库和事件存储库?
通过Commanded's Gitter chat调试问题可能会更容易。