Skip to content

Commit

Permalink
🔨 add fibonacci
Browse files Browse the repository at this point in the history
  • Loading branch information
matyo91 committed Sep 17, 2024
1 parent c3d2860 commit 9f64bf9
Showing 1 changed file with 4 additions and 5 deletions.
9 changes: 4 additions & 5 deletions examples/yflow.php
Original file line number Diff line number Diff line change
Expand Up @@ -118,7 +118,7 @@ function factorialYMemo(int $n): int
return new YFlowData($data->id, $data->number);
};

$factorialYJobDeferBefore = static function (YFlowData $data) use ($driver) {
$factorialYJobDeferBefore = static function (YFlowData $data) {
printf("...*.. #%d - Job 4 : Calculating factorialYJobDefer(%d)\n", $data->id, $data->number);

return new YFlowData($data->id, $data->number, $data->number);
Expand Down Expand Up @@ -157,7 +157,7 @@ function factorialYMemo(int $n): int
});
};

$fibonacciYJobDeferBefore = static function (YFlowData $data) use ($driver) {
$fibonacciYJobDeferBefore = static function (YFlowData $data) {
printf("....* #%d - Job 5 : Calculating fibonacciYJobDefer(%d)\n", $data->id, $data->number);

return new YFlowData($data->id, $data->number, $data->number);
Expand All @@ -174,9 +174,9 @@ function factorialYMemo(int $n): int
$driver->delay($delay);
$complete([new YFlowData($data->id, $data->number, 1), $defer]);
} else {
$async($fibonacci([new YFlowData($data->id, $data->number, $data->result - 1), $defer]), function ($result1) use ($data, $complete, $driver, $async, $fibonacci, $defer) {
$async($fibonacci([new YFlowData($data->id, $data->number, $data->result - 1), $defer]), static function ($result1) use ($data, $complete, $driver, $async, $fibonacci) {
[$resultData1, $defer1] = $result1;
$async($fibonacci([new YFlowData($data->id, $data->number, $data->result - 2), $defer1]), function ($result2) use ($data, $complete, $driver, $resultData1) {
$async($fibonacci([new YFlowData($data->id, $data->number, $data->result - 2), $defer1]), static function ($result2) use ($data, $complete, $driver, $resultData1) {
[$resultData2, $defer2] = $result2;
$delay = random_int(1, 3);
printf("....* #%d - Job 5 : Step async fibonacciYJobDefer(%d) with delay %d\n", $data->id, $data->number, $delay);
Expand All @@ -200,7 +200,6 @@ function factorialYMemo(int $n): int
});
};


$flow = Flow::do(static function () use (
$factorialJob,
$factorialYJobBefore,
Expand Down

0 comments on commit 9f64bf9

Please sign in to comment.