File: /home/xedaptot/ai.naniguide.com/app/Jobs/RunAutomation.php
<?php
namespace App\Jobs;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Queue\SerializesModels;
use Illuminate\Queue\Middleware\WithoutOverlapping;
use Illuminate\Contracts\Cache\Repository;
use App\Model\Automation2;
class RunAutomation implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
public $timeout = 28800;
public $maxExceptions = 1; // This is required if retryUntil is used, otherwise, the default value is 255
public $failOnTimeout = true;
protected $automation;
protected $customer;
public function retryUntil()
{
return now()->addDays(7);
}
/**
* Create a new job instance.
*
* @return void
*/
public function __construct(Automation2 $automation)
{
$this->automation = $automation;
$this->customer = $automation->customer;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$this->customer->setUserDbConnection();
$this->automation->check();
}
}