【发布时间】:2022-09-23 15:58:38
【问题描述】:
我们正在使用事件溯源(特别是 PHP、Laravel 和 Spatie 的 EventSourcing 库,但我认为我的问题一般与事件溯源有关)
我们有两个投影仪 - (即“监听器”,代码将运行)
ProjectorA::onEnrollmentCreated(){
// does a db update to set status to \'pending\'
}
ProjectorB::onEnrollmentCreated(){
// does some own code, AND THEN records event `onEnrollmentApproved`,
// which does a db update to set status to \'approved\'
}
对于这个问题,我认为这是足够的代码来展示。期望的效果是注册最终状态为“已批准”
我的问题是:
对我来说,这些监听器似乎是异步运行的函数,因此 ProjectorA 中可能会出现打嗝,这会导致它最后完成并将状态设置回“待定”
我的队友说投影仪的工作方式,onEnrollmentCreated 将始终在 onEnrollmentApproved 允许启动之前完成。这对我来说毫无意义,所以我的问题是:
您能否向我解释一下,或者给我一些链接,我可以更深入地了解事件溯源的这一特定方面?
蒂亚!
标签: php event-sourcing