RXL
|
|
« Ответ #1 : 17-08-2007 15:33 » |
|
Логично, что это должна делать сторонняя утилита - не средствами же скрипта это делать. Один из факторов: неизвестное (и наверняка большое) время работы конвертора. Т.е. запускать утилиту из скрипта нельзя. Я бы реализовал так: 1. Скрипт принимает файл, выполняет необходимые проверки, перемещает его в специальноотведенное место и добавляет в базу запись о задаче. 2. На cron (или на виндовом планировщике) повесить задачу (запускать, скажем, раз в минуту), которая будет: 2.1. проверять наличие новых заданий и создавать под каждую перекодировку новый процесс, который запустит утилиту конвертации, проконтроллирует процесс и сообщит о результате; 2.2. проверять завершенные задания, перемещать готовые результаты (flv), удалять ненужные исходные и промежуточные файлы.
Это не единственное решение, но мне оно видится простым и надежным. Как вариант, п.2. можно также выполнить в виде постоянно работающей программы, а общение можно делать не через базу, а через средства IPC.
В атаче накидал схемку. В принципе, в информации о задании можно указывать используемую для коверсии утилиту и пользуясь один раз написанными периодической и исполнительной программами для разных конкретных задач, меняя лишь логику обработчика в скрипте.
|