summaryrefslogtreecommitdiff
path: root/tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php
diff options
context:
space:
mode:
Diffstat (limited to 'tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php')
-rw-r--r--tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php34
1 files changed, 34 insertions, 0 deletions
diff --git a/tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php b/tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php
new file mode 100644
index 00000000..d10ba04a
--- /dev/null
+++ b/tests/temporal/Workflow/SimpleSignalledWorkflowWithSleep.php
@@ -0,0 +1,34 @@
+<?php
+
+declare(strict_types=1);
+
+namespace Temporal\Tests\Workflow;
+
+use Temporal\Workflow;
+use Temporal\Workflow\WorkflowMethod;
+
+#[Workflow\WorkflowInterface]
+class SimpleSignalledWorkflowWithSleep
+{
+ private $counter = 0;
+
+ #[Workflow\SignalMethod(name: "add")]
+ public function add(
+ int $value
+ ) {
+ $this->counter += $value;
+ }
+
+ #[WorkflowMethod(name: 'SimpleSignalledWorkflowWithSleep')]
+ public function handler(): iterable
+ {
+ // collect signals during one second
+ yield Workflow::timer(1);
+
+ if (!Workflow::isReplaying()) {
+ sleep(1);
+ }
+
+ return $this->counter;
+ }
+}