Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
crazyfactory/jobs / examples / 01_simple_result_processor.php
Size: Mime:
<?php

use CrazyFactory\Jobs\JobConfig;
use CrazyFactory\Jobs\JobResult;
use CrazyFactory\Jobs\Processors\SimpleResultProcessor;

require_once __DIR__.'/../vendor/autoload.php';

// instantiate the manager
$jobManager = new \CrazyFactory\Jobs\JobManager();

// create a primitice job configuration :)
$jobConfig = new JobConfig([
    'name' => 'dance',
    'cmd' => 'php ' . __DIR__ . '/jobs/dance_job.php',
]);

// Add it to the manager
$jobManager->withJob($jobConfig);

// Add a simple result processor to applaud!
$jobManager->withResultProcessor(new SimpleResultProcessor(function(JobResult $jobResult) {
    // ascii rose on success
    if ($jobResult->getCode() === 0) {
        echo "\nYeah!     -----{--<(@\n";
    }
    // sleepy guy on error
    else {
        echo "\nBooh!     (-.-)Zzz...\n";
    }
}));

// Execute by name
$jobManager->run('dance');