Completed
Push — master ( 29dd4a...211d70 )
by Joseph
11:41
created

CheckUploadStatus::release()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace STS\StorageConnect\Jobs;
4
5
use Illuminate\Bus\Queueable;
6
use Illuminate\Contracts\Queue\ShouldQueue;
7
use Illuminate\Foundation\Bus\Dispatchable;
8
use Illuminate\Queue\InteractsWithQueue;
9
use Illuminate\Queue\SerializesModels;
10
use STS\StorageConnect\Models\CloudStorage;
11
use STS\StorageConnect\UploadResponse;
12
13
/**
14
 *
15
 */
16
class CheckUploadStatus implements ShouldQueue
17
{
18
    use Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
19
20
    /**
21
     * @var CloudStorage
22
     */
23
    protected $storage;
24
25
    /**
26
     * @var UploadResponse
27
     */
28
    protected $response;
29
30
    /**
31
     * CheckUploadStatus constructor.
32
     *
33
     * @param CloudStorage $storage
34
     * @param UploadResponse $response
35
     */
36
    public function __construct(CloudStorage $storage, UploadResponse $response)
37
    {
38
        $this->storage = $storage;
39
        $this->response = $response;
40
        $this->delay = $response->getNextCheckDelay();
41
    }
42
43
    /**
44
     *
45
     */
46
    public function handle()
47
    {
48
        $this->storage->checkUploadStatus($this->response, $this);
49
    }
50
51
    /**
52
     *
53
     */
54
    public function release()
55
    {
56
        $this->job->release($this->response->getNextCheckDelay());
57
    }
58
}