Estado programable en la programación de eventos de Corda
Estaba probando la función de programación de eventos heredando estados programables , y también probé el ejemplo de latido.
- ¿Un evento de programación ocurre solo cuando se emite un estado programable recientemente o se actualiza consumiendo ? ¿Es posible hacer un evento recurrente usando un mismo estado no consumido?
- Cuando un estado programable tiene dos partes como participantes, ¿quién iniciará realmente el flujo de programación mencionado en la función nextScheduledActivity () ? (Sé que sucede automáticamente, pero ¿qué partido iniciará ese flujo?)
¿Es la misma Parte que emitió el estado programable que también inicia el flujo programable?
Ayúdame a entender esto. ¡Gracias!
Respuestas
Una actividad se programa cuando se crea un estado programable y la actividad no se programa si se consume. Entonces puedes tener una actividad por estado. Necesita consumir el estado para programar una nueva hora. Eche un vistazo a esta clase, es responsable de programar / cancelar actividades:https://github.com/corda/corda/blob/release/os/4.7/node/src/main/kotlin/net/corda/node/services/events/ScheduledActivityObserver.kt
La actividad se activará en todos los nodos que tengan el estado registrado, debe tener una lógica en su flujo para restringir la ejecución del flujo en partes que no deberían ejecutarlo. Esto debería darte una idea:https://github.com/corda/samples-java/blob/master/Advanced/auction-cordapp/workflows/src/main/java/net/corda/samples/flows/EndAuctionFlow.java
Enlace a la conversación Slack de CordaLedger: https://cordaledger.slack.com/archives/C2KGD72UX/p1600771838039700