#!/usr/bin/env php ')) { fwrite( STDERR, sprintf( 'FuzeWorks Async requires PHP 7.1 or higher.' . PHP_EOL . 'You are using PHP %s (%s).' . PHP_EOL, PHP_VERSION, PHP_BINARY ) ); die(1); } // First load composer $autoloaders = [ __DIR__ . '/../../autoload.php', __DIR__ . '/../vendor/autoload.php', __DIR__ . '/vendor/autoload.php' ]; foreach ($autoloaders as $file) if (file_exists($file)) require($file); try { // Open configurator $configurator = new FuzeWorks\Configurator(); // Set up basic settings $configurator->setTimeZone('Europe/Amsterdam'); $configurator->setTempDirectory(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'temp'); $configurator->setLogDirectory(dirname(__FILE__). DIRECTORY_SEPARATOR . 'log'); // Add Async library $configurator->deferComponentClassMethod('libraries', 'addLibraryClass', null, 'async', '\FuzeWorks\Async\Tasks'); // Debug $configurator->enableDebugMode()->setDebugAddress('ALL'); // Create container $container = $configurator->createContainer(); // RUN THE APP /** @var Tasks $lib */ $lib = $container->libraries->get('async'); $supervisor = $lib->getSuperVisor(); while ($supervisor->cycle() === SuperVisor::RUNNING) { usleep(250000); } } catch (InvalidArgumentException | TasksException | LibraryException $e) { fwrite(STDERR, sprintf('FuzeWorks Async could not load.' . PHP_EOL . 'Exception: ' . $e->getMessage() . PHP_EOL) ); }