Event-Handling
Events ermöglichen die Kommunikation mit laufenden Prozessen. Diese Seite zeigt, wie Sie Signale und Messages an Prozesse senden.
Signal senden
Signale werden an alle wartenden Prozesse gesendet:
import { Client } from '@processcube/client';
const client = new Client('http://localhost:8000');
async function sendSignal() {
console.log('Sende Signal an wartende Prozesse');
await client.sendSignal('StartSignal', {
orderId: 'ORDER-123',
amount: 1500,
});
console.log('Signal gesendet');
}
sendSignal().catch(console.error);Message senden
Messages werden an eine spezifische Prozess-Instanz gesendet:
await client.sendMessage('UpdateOrder', {
status: 'shipped',
trackingNumber: 'TRACK-456',
}, 'instance-123');Signal mit Timing
// Signal senden und auf Prozess-Start warten
const beforeSignal = new Date();
await client.sendSignal('StartSignal');
// Kurz warten
await new Promise((resolve) => setTimeout(resolve, 2000));
// Prüfen, ob Prozess gestartet wurde
const instances = await client.getProcessInstances({
processKey: 'OrderProcess',
startedAfter: beforeSignal,
});
console.log(`${instances.length} Prozesse durch Signal gestartet`);Best Practices
try {
await client.sendSignal('PaymentReceived', paymentData);
console.log('Signal erfolgreich gesendet');
} catch (error) {
console.error('Signal-Fehler:', error.message);
}