Изменения

SockPQd - диспетчер очередей с приоритетами

36 байтов добавлено, 19:35, 29 августа 2009
PUT — добавить задание в очередь
=== PUT — добавить задание в очередь ===
<pre>Запрос: PUT <q> <p> <длина_данных> [(IS <имя_элемента>|NEW) [WAIT <oq> [EXPIRE <сек> [THEN (DONE|LATER)]]]] <данные> Ответ: 200 OK Ответ: 200 OK IS <имя_элемента> Ответ: 206 Wait for output 200 OK <имя_очереди> <id_задания> <приоритет> <длина_данных> [IS <имя_элемента>] <данные> Ответ: 206 Wait for output IS <имя_элемента> 200 OK <имя_очереди> <id_задания> <приоритет> <длина_данных> [IS <имя_элемента>] <данные> Ответ: 500 Offline Mode</pre>
Действие:
В именованную очередь с именем <q> добавляется новое задание с приоритетом <nowiki><p></nowiki>. <Данные> задания сохраняются для последующей передачи исполнителям. Если в запросе передаётся <имя_элемента>, задание относится к элементу (подпоследовательности очереди) с именем <имя_элемента>. Имя очереди и имя элемента могут состоять из латинских букв, цифр и символа '_'. <nowiki><p></nowiki> — целое, возможно, отрицательное, число.
Если указать в запросе WAIT <oq>, sockPQd отдаст клиенту ответ 206 Wait for output, и будет ожидать появления задания, относящегося к элементу с именем <имя_элемента> в очереди с именем <oq>; когда такое задание станет доступно, оно сразу же будет отдано клиенту так же, как в ответе на GET-запрос. Если при этом в запросе было указано EXPIRE, то по прошествии <сек> секунд после отдачи задания оно будет поставлено в очередь заново или удалено, точно так же как и в команде GET, в зависимости от указания ключа -d при запуске sockPQd и указания в запросе THEN.