| 
<?php
 require_once 'vendor/autoload.php';
 
 use Terremoth\Async\Process;
 use Terremoth\Async\PhpFile;
 
 $process = new Process();
 
 echo date('c') . ' :: Sending process. You should not wait any longer to see next message: ' . PHP_EOL;
 
 try {
 $age = 30;
 $name = 'John Doe';
 $fruits = ['orange', 'apple', 'grape'];
 $process->send(function () use ($age, $name, $fruits) {
 sleep(5);
 echo 123; // you should not see this anywhere
 file_put_contents(
 'demo.txt',
 "Age: $age\nName: $name\nFruits: " . implode(', ', $fruits) . ' - ' . date('c')
 );
 });
 } catch (Exception $e) {
 echo $e->getMessage();
 }
 
 echo date('c') . ' :: This is the next message' . PHP_EOL;
 echo date('c') . ' :: Now let\'s process a file that takes a long time...' . PHP_EOL;
 
 try {
 $file = new PhpFile(__DIR__ . DIRECTORY_SEPARATOR . 'time-wasting-file.php');
 $file->run();
 echo date('c') . ' :: Ended...' . PHP_EOL;
 } catch (Exception $e) {
 echo $e->getMessage();
 }
 
 |