1 | <?php |
||
11 | class Driver implements \Bernard\Driver |
||
12 | { |
||
13 | private $baseDirectory; |
||
14 | |||
15 | private $permissions; |
||
16 | |||
17 | /** |
||
18 | * @param string $baseDirectory The base directory |
||
19 | * @param int $permissions permissions to create the file with |
||
20 | */ |
||
21 | 9 | public function __construct($baseDirectory, $permissions = 0740) |
|
26 | |||
27 | /** |
||
28 | * {@inheritdoc} |
||
29 | */ |
||
30 | 1 | public function listQueues() |
|
46 | |||
47 | /** |
||
48 | * {@inheritdoc} |
||
49 | */ |
||
50 | 9 | public function createQueue($queueName) |
|
60 | |||
61 | /** |
||
62 | * {@inheritdoc} |
||
63 | */ |
||
64 | public function countMessages($queueName) |
||
75 | |||
76 | /** |
||
77 | * {@inheritdoc} |
||
78 | */ |
||
79 | 8 | public function pushMessage($queueName, $message) |
|
88 | |||
89 | /** |
||
90 | * {@inheritdoc} |
||
91 | */ |
||
92 | 3 | public function popMessage($queueName, $duration = 5) |
|
117 | |||
118 | /** |
||
119 | 1 | * @param string $queueDir |
|
120 | * @param string $id |
||
121 | 1 | * |
|
122 | 1 | * @return array |
|
123 | */ |
||
124 | 1 | private function processFileOrFail($queueDir, $id) { |
|
125 | $name = $queueDir.DIRECTORY_SEPARATOR.$id; |
||
126 | $newName = $name.'.proceed'; |
||
127 | |||
128 | 1 | if (!@rename($name, $newName)) { |
|
129 | 1 | throw new InsufficientPermissionsException('Unable to process file: '.$name); |
|
130 | } |
||
131 | |||
132 | return [file_get_contents($newName), $id]; |
||
133 | } |
||
134 | 1 | ||
135 | /** |
||
136 | 1 | * {@inheritdoc} |
|
137 | */ |
||
138 | 1 | public function acknowledgeMessage($queueName, $receipt) |
|
149 | 1 | ||
150 | 1 | /** |
|
151 | * {@inheritdoc} |
||
152 | 1 | */ |
|
153 | public function peekQueue($queueName, $index = 0, $limit = 20) |
||
173 | 2 | ||
174 | /** |
||
175 | * {@inheritdoc} |
||
176 | */ |
||
177 | public function removeQueue($queueName) |
||
193 | |||
194 | /** |
||
195 | * {@inheritdoc} |
||
196 | */ |
||
197 | public function info() |
||
201 | |||
202 | 8 | /** |
|
203 | * @param string $queueName |
||
204 | 8 | * |
|
205 | 8 | * @return string |
|
206 | 8 | */ |
|
207 | 8 | private function getQueueDirectory($queueName) |
|
211 | |||
212 | 8 | /** |
|
213 | * Generates a uuid. |
||
214 | 8 | * |
|
215 | 8 | * @param string $queueName |
|
216 | * |
||
217 | 8 | * @return string |
|
218 | 8 | */ |
|
219 | private function getJobFilename($queueName) |
||
247 | } |
||
248 |