HylaFax - получить статус работы
Я пытаюсь написать интерфейс для отправки факсов на PHP. Я хочу знать, как я могу получить статус работы факса.
Когда пользователь отправил факс, как я могу сообщить о статусе задания пользователю? В случае, когда линия назначения была занята, недоступна и т. Д.
Есть ли какой-либо файл журнала или команда, которая содержит состояние определенного задания факса, которое может быть передано во внешний интерфейс? Таким образом, я могу сообщить об успешном / неудачном сообщении пользователю.
Я знаю о faxstat -d
, но это отчет для всех работ, и я не могу получить это на стороне PHP.
Как видите, формат вывода не может быть легко проанализирован.
Просто для справки, вот список всех кодов состояния.
Я взглянул на документацию Hyla fax, но не смог найти ничего, как отследить статус работы.
2 ответа
Я знаю о faxstat -d, но это отчет для всех заданий, и я не могу получить его на стороне php.
Что вы можете. У вас есть пара вариантов: система и exec.
Используйте один из них для запуска команды faxstat в сочетании с grep, и вы сможете получить нужные данные. В качестве альтернативы, всасывайте весь вывод faxstat в переменную php, а затем анализируйте данные, которые вы ищете.
Файл в /var/spool/hylafax/doneq/q$job_id
, где $job_id
ваша работа #, является более описательной. Смотрите здесь: http://hylafax.sourceforge.net/man/doneq.php
Файлы в каталоге doneq указывают выполненные запросы на передачу. Эти файлы создаются hfaxd(8C) при отправке задания от имени sendfax(1) или sendpage(1). Файлы описания задания также находятся в каталоге sendq; они перемещаются оттуда в каталог doneq по факсу (8C) после завершения задания.