Ниже я ответе на комментарий на написал, что проблема появляется даже при минимальном коде, поэтому вероятнее всего фокус выбрасывает IIS или PHP.
Я изучу Ваше предложение относительно powershell — спасибо. Возможно это подходящее решение.
Вообще-то я предпочитаю работать с Linux просто заказчик оплатил доводку проекта и приходится использовать что есть, но если Вы поможете переложить часть касающуюся работы с PDF на ASP.NET, буду благодарен скромно, но материально. Прошу Вас написать в личку Ваши условия.
Большое спасибо за ответ на мой вопрос, к сожалению наличие посторонних водяных знаков критично для проекта. Ниже в ответе на комментарий я описал какую латку пока наложил. Проблема не в pdftk а где-то на уровне PHP или IIS.
К сожалению вопрос остается не решенным. В любом случае благодарю за ответ.
Большое спасибо за ответ. На севере создал простой файл с единственным скриптом passthru('dir > c:/test.txt') множественный вызов которого также вызывает затор и подвисание процессов. Вероятно что-то очень неверно в настройке IIS или PHP.
Первым делом я создал флаг (файл в папке), наличие которого говорит сне о том что процесс уже запущен, а если время с момента создания файла больше минуты — мне отправляется уведомление о зависании на почту, Таким образом через *опу я вопрос решил, но как Вы понимаете это не серьезное решение.
К сожалению, задав вопрос я кому-то серьезно насрал в душу, причем настолько, что мне слили карму, поэтому я не смогу Вас отблагодарить плюсованием. Прошу принять мою искреннюю благодарность на словах.
В карму минус поставили, а на вопрос не ответил никто. Прикольно. Короче на копии виртуального сервера (Win2003 SR2 + IIS + PHP + PDFTK) установил PDFTK и построил скрипт. Вопрос это не решает!!! При параллельном вызове PDFTK (начиная с cmd.exe) виснет и блокирует выполнение других вызовов этого же скрипта! Т.е. с PDFTK может работать только один пользователь в одну единицу времени. Многозадачность форточки во всей красе.
У меня решение с PDFTK работает только на Linux, а потому вопрос остается актуальным! Очень хочется найти решение именно на PHP.
Конечно, но через обратную связь мы получили пару десятков важных замечаний и комментариев от пользователей, которые касались непосредственно нашей программы.
1. Как подключаешься к MySQL из php? mysqli или mysql?
2. Сколько памяти до и после подвисания MySQL?
3. Какое ограничение по количеству подключений и срок жизни подключений?
4. Какова нагрузка на процессор при зависании?
5. Есть ли возможность проапгрейдить MySQL и перенести задачи в рутины?
Dell inspiron 1501 — батарея уже дохлая, но оригинальная. БП тоже родной. правда провод перепаивал ввиду частых перегибов. Так вот заметил что если при включении нотика перед началом загрузки ОС что БП несовместим, то при большой нагрузке (рендеринг, сводные таблицы и скачивание одновременно) комп просто вырубается. Если такой надписи нет при запуске теже процессы работают отлично. После очередной перепайки шнура все нормализовалось.
вконтактики и иже с ними одноклассники — это канал поиска клиентов, никак не общения. Канал общения — это e-mail. Но если Вы будете настаивать то все равно лучше смотрите в сторону контроля логов. Пересматривать скриншоты слишком неэффективно, гораздо проще засечь в логе, что пользователь ходил на собственную страничку, подгружал фото или ходил на странички НЕ клиентов.
это противозаконно
Это тема длинного холивара на Хабре, давайте не переносить его в q&a
В Вашем случае я бы предложил варианты по проще и менее спорные:
1. Использовать whitelist/blacklist на шлюзе. После недели анализа статистики посещения сайтов Вы создадите для себя достаточно обширный список сайтов для фильтрации.
2. Использовать *nix-based ОС в которой настроить только нужные для работы ПО (выключив js и flash в браузерах) и максимально исключив таким образом возможность запуска казуальных игр.
3. Для внутреннего общения настроить собственный jabber и перекрыть порты для внешних коммуникаторов.
Советы даю из банковского опыта. Поверьте пересматривать скриншоты за неделю по каждому сотруднику — это ОООчень утомительное занятие. Смотреть и фильтровать логи проще. Настроить сигнальную систему тоже проще.
Проблему всегда легче предупредить чем с ней бороться.