summaryrefslogtreecommitdiff
path: root/tests/temporal/Workflow/RuntimeSignalWorkflow.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/temporal/Workflow/RuntimeSignalWorkflow.php')
-rw-r--r--tests/temporal/Workflow/RuntimeSignalWorkflow.php31
1 files changed, 31 insertions, 0 deletions
diff --git a/tests/temporal/Workflow/RuntimeSignalWorkflow.php b/tests/temporal/Workflow/RuntimeSignalWorkflow.php
new file mode 100644
index 00000000..f700af72
--- /dev/null
+++ b/tests/temporal/Workflow/RuntimeSignalWorkflow.php
@@ -0,0 +1,31 @@
+<?php
+
+namespace Temporal\Tests\Workflow;
+
+use React\Promise\Deferred;
+use Temporal\Workflow;
+use Temporal\Workflow\WorkflowMethod;
+
+#[Workflow\WorkflowInterface]
+class RuntimeSignalWorkflow
+{
+ #[WorkflowMethod]
+ public function handler()
+ {
+ $wait1 = new Deferred();
+ $wait2 = new Deferred();
+
+ $counter = 0;
+
+ Workflow::registerSignal('add', function ($value) use (&$counter, $wait1, $wait2) {
+ $counter += $value;
+ $wait1->resolve($value);
+ $wait2->resolve($value);
+ });
+
+ yield $wait1;
+ yield $wait2;
+
+ return $counter;
+ }
+}