1. Go to this page and download the library: Download agatanga/relay library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
agatanga / relay example snippets
Relay::chain([new Job1, new Job2])
->batch([new Job3_1, new Job3_2])
->chain([new Job4, new Job5])
->through([new Middleware])
->dispatch();
use Agatanga\Relay\Facades\Relay;
Relay::chain('Downloading', [
new DownloadSources($project),
new DetectSettings($project),
])
->then('Updating project data', [
new ReadStringFiles($project),
new ReadSourceFiles($project),
])
->then('Updating project data', [
new FixFalseUnusedStrings($project),
])
->finally('Cleaning up', [
new IgnoreKnownStrings($project),
new RemoveSources($project),
])
->through(new Middleware($project))
->dispatch();
Bus::batch([
[
new DownloadSources($project)->through(new Middleware($project)),
new DetectSettings($project)->through(new Middleware($project)),
],
])->then(function (Batch $batch) use ($project) {
Bus::batch([
new ReadStringFiles($project)->through(new Middleware($project)),
new ReadSourceFiles($project)->through(new Middleware($project)),
])->then(function (Batch $batch) use ($project) {
Bus::batch([
new FixFalseUnusedStrings($project)->through(new Middleware($project)),
])->finally(function (Batch $batch) use ($project) {
Bus::batch([
new IgnoreKnownStrings($project)->through(new Middleware($project)),
new RemoveSources($project)->through(new Middleware($project)),
])->name('Cleaning up')->dispatch();
})->name('Updating project data')->dispatch();
})->name('Updating project data')->dispatch();
})->name('Downloading')->dispatch();
Relay::chain([new Job1, new Job2])
->batch([new Job3_1, new Job3_2])
->chain([new Job4, new Job5], [new Middleware1])
->chain([new Job6, new Job7])
->through([new Middleware2]) // middleware for Job1-3, Job6-7
->dispatch();
use Agatanga\Relay\Facades\Relay;
Relay::chain([
new DownloadSources($project),
new DetectSettings($project),
])
->then([
new ReadStringFiles($project),
new ReadSourceFiles($project),
])
->finally([
new IgnoreKnownStrings($project),
new RemoveSources($project),
])
->name('Update Project (:current of :total)')
->meta('project.update', $project->id)
->meta('causer', auth()->user()->id)
->dispatch();
use Agatanga\Relay\Facades\Relay;
Relay::whereMeta('causer', $userId)->all();
Relay::whereMeta('project', $id)->first()->meta('causer');
Relay::whereMeta('project.update', $id)->first()->name; // returns clean name
use Agatanga\Relay\Facades\Relay;
Relay::whereMeta('project.update', $id)->first()->progress; // only the last callback can return 100%
use Agatanga\Relay\Facades\Relay;
Relay::whereMeta('project.update', $id)->first()->failedJobs();
// or get the exception string of the last failed job
$batch = Relay::whereMeta('project.update', $id)->first();
if ($batch->failed) {
echo $batch->exception;
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.