app/Jobs/DemoJob.php
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Moox\Jobs\Traits\JobProgress;
class DemoJob implements ShouldQueue
{
use Dispatchable, InteractsWithQueue, JobProgress, Queueable, SerializesModels;
public $tries;
public $timeout;
public $maxExceptions;
public $backoff;
public function __construct()
{
$this->tries = 10;
$this->timeout = 120;
$this->maxExceptions = 3;
$this->backoff = 240;
}
public function handle()
{
$count = 0;
$steps = 10;
$final = 100;
while ($count < $final) {
$this->setProgress($count);
$count = $count + $steps;
sleep(10);
}
}
}