richard
/
cyca
Archived
1
0
Fork 0
This repository has been archived on 2024-05-04. You can view files and clone it, but cannot push or open issues or pull requests.
cyca/app/Jobs/EnqueueDocumentUpdate.php

66 lines
1.3 KiB
PHP
Executable File

<?php
namespace App\Jobs;
use App\Models\Document;
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;
class EnqueueDocumentUpdate implements ShouldQueue, ShouldBeUnique
{
use Dispatchable;
use InteractsWithQueue;
use Queueable;
use SerializesModels;
/**
* Delete the job if its models no longer exist.
*
* @var bool
*/
public $deleteWhenMissingModels = true;
/**
* Document to update.
*
* @var \App\Models\Document
*/
protected $document;
protected $documentId;
/**
* Create a new job instance.
*/
public function __construct(Document $document)
{
$this->document = $document;
if (!empty($this->document->id)) {
$this->documentId = $document->id;
}
}
/**
* Execute the job.
*/
public function handle()
{
$this->document->analyze();
$this->document = null;
}
/**
* The unique ID of the job.
*
* @return string
*/
public function uniqueId()
{
return $this->document->id;
}
}