summaryrefslogtreecommitdiff
path: root/tests/temporal/Workflow/RuntimeSignalWorkflow.php
diff options
context:
space:
mode:
authorValery Piashchynski <[email protected]>2021-01-25 22:47:02 +0300
committerValery Piashchynski <[email protected]>2021-01-25 22:47:02 +0300
commit43071e43a0743ff8c7913bba7819952962124355 (patch)
treee3b61113d3c0d28f972c71592af8b2f708994167 /tests/temporal/Workflow/RuntimeSignalWorkflow.php
parent5fd1168c687040ca7d72f4727ee1aec753d3f258 (diff)
Initial commit of the Temporal plugins set
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;
+ }
+}