Volniy

|
Posted: Thu Apr 12, 2007 15:10 Post subject: |
|
|
Batya wrote: | Так ведь lamicard написал, что после печати файл надо переместить в архивную папку. Соответственно, "как два пальца ..."  |
Ты опять упрощаешь. Между тем моментом, когда ты обнаружишь файл и когда ты его уже переместишь в некую другую папку пройдет существенный промежуток времени. В это время может появиться новый файл. Как ты об этом узнаешь в скрипте, он ведь будет все еще печатью предыдущего файла заниматься?
Batya wrote: | Дргое дело, что мне самому стало интересно, а как при этом работает DirMonitor? Он ведет лог обработанных файлов и хранит список где-то в файле или в собственной памяти? Как он отработает после перезапуска? |
И зря не читаешь доки, тем более не смотришь исходники (там ксати, PowerBasic, для тебя будет все понятно). Там все по-взрослому, однако, никаких списков . Запускается сервис с десятью (по максимуму) тредами, каждый вешает на свою директорию API функцию "ReadDirectoryChangesW" и когда та возвращает положительный результат (произошло некоторое изменение в перечне файлов отслеживаемой директории) выполняет указанную вами команду над файлом-источником изменений (в данной реализации сервиса только в момент добавления файла, но можно обрабатывать и удаление, переименование, изменение атрибутов и тп).
Как я вижу решение с печатью:
запускаем-таки процесс DirMonitor, предварительно указав ему (в его ини-файле) 10 наших директорий и для каждой из них отдельный скрипт (пакетный файл и тп). Скрипт в качестве параметра получит путь к новому файлу PDF. В скрипте: отсыл на печать (pdfp с ожиданием выполнения) и последующее перемещение файла в Отработанные (возможно, поторебуется контроль за именем файла на случай дубликатов по имени). На этом скрипт завершается (я бы еще и в некий общий лог файл добавил запись), но его новый экземпляр будет снова запущен при возникновении нового PDF файла в соответсвующей папке. И так по кругу, весь рабочий день, пока работники, ранее занимавшиеся печатью вручную, пьют пиво и режутся в Doom
А тулзу я эту раньше не видел, но, похоже, у меня у самого найдется парочку задачек для нее. А еще учитывая наличие сорца...  |
|