Я сделал job
для уничтожения файла:
class DestroyFile implements ShouldQueue
{
use InteractsWithQueue, Queueable, SerializesModels;
/**
* @var File
*/
protected $file;
/**
* DestroyFile constructor.
* @param File $file
*/
public function __construct(File $file)
{
$this->file = $file;
}
/**
* Execute the job.
*
* @return void
*/
public function handle()
{
$path = $this->file->getPath();
if(Storage::disk('s3')->exists($path))
{
Storage::disk('s3')->delete($path);
if(!Storage::disk('s3')->exists($path))
{
$attachment = File::find($this->file->id);
$attachment->delete();
}
}
}
}
Я увольняю работу так:
dispatch(new DestroyFile($file));
Локально это работает, но в кузнице это не так. Я уже использую очереди с forge для отправки писем, и они работают нормально.
Так что же здесь может происходить (я уже перезапустил очередь)?
я использую Beanstalkd
а также Laravel 5.3
Задача ещё не решена.
Других решений пока нет …