![]() |
PHP and Python
В общем есть следующая проблема.
Есть скрипт на питоне которому передаются 3 файла и он делает на их основе четвертый(если быть откровенным то это просто подпись файла, тобеж 1 это файл сертификата 2 это файл ключей а 3 это тот фйл который мы подписываем). Собственно есть дилемма, как лучше отдать 4 файл пользователю(как будет правильнее)? Вы наверно спросите причем тут пхп, дело в том что сайт написан на пхп и думаю так будет проще кое какие варианты реалиовать. Я вижу пару варианта. При этом хотелось бы(я бы даже сказал ооочень хотелось, так как это облегчит в будущем мне жизнь:), хранить сертификат и ключ в базе а не в отдельных файлах ). 1) Сертификат и ключ храним не в базе ( :( ) , а в базе просто храним путь до них. через passthru в php мы запускаем скрипт на питоне а скрипт правим так чтобы он делал вывод не в файл а на стандартный поток вывода. Тут соответственно + в том что это все довольно просто в реализации. Но вот насколько это грамотно(имееться ввиду запуск через passthru скрипта) 2) Вариант близкий к идеальному но не не совсем ) Мы просто разрешаем исполнение python скриптов на сайте(честно некогда не подключал питон на сайтах но думаю это не проблема, и если все таки подключать. тут наверно лучше как cgi приложение его подключать, ведь этот python скрипт будет не часто вызываться), и в самом скрипте на питоне подключаться к базе забирать из нее сертификат и ключ подписывать файл и отдавать ссылку на файл пользователю. Тут не идельно вот что. Насколько питон нормально работает с mysql? )) 3) Вариант мы питон скрипту через параметры передаем сертификат и ключ подписываем приложение и дальше схоже с 1 вариантом. Тут + в том что сертификат и ключ хранятся как и хотелось бы, в базе. 4 Некая комбинация 1-3 варианта? 5 ваши предложения ? ЗЫ файлы которые мы будем отдавать и подписывать будут в среднем 1-3мб максимум 8-10 мб |
Цитата:
|
Цитата:
Цитата:
Цитата:
Грубо говоря совсем упрощая. Мне надо отдать пользователю файл после обработки его тем питон скриптом. А то что я описывал было мои идеи по решению той проблемы. Да действия будут происходить на ВДС |
Просто можно написать демона который будет проверять постоянно с заданным интервалом (ну положим там в секунду или пол секунды) БД на наличие задач по сертификации или что там. И потом обратно ложить в БД сертфицированный файл, а пхп же будет просто в БД ложить запрос на эту саму сертификацию, а потом через заданный интервал проверять БД на наличие ответного файла
Под демоном подразумеваю скрипт, просто работающий себе на вдс , которого никто не трогает :) P.S. Я за четкое разделение задач. P.P.S. Какая предполагается пиковая нагрузка ? P.P.P.S. :D Свалил спать, буду завтра читать :) |
Демон не получиться по той причине что
1) Нужно отдать файл по запросу пользователя. 2) Подпись файла делается моментально(ну время выполнения скрипта на питоне менее 1 сек) 3) Выекает из 1. Пользователь может запросить на подпись любой файл любым своим сертефикатом. Тоесть подписать все файлы одним сертом и складировать их неполучиться. Итог. Запрос пользователся (имя файла+выбранный серт)=> (Както подписывам) => както отдаем файл пользвателю. )) Собственно а где подводные камни зарыты при подключении питона к апатчу? Пиковая нагрузка ну думаю что 1-2 файла на подпись в минуту МАКСИМУМ )) |
Вот вам бы тут необходимо почитать.
http://habrahabr.ru/blogs/python/67475/#habracut Подозреваю, что в планируете использовать mod_python. Посмотрите тесты, почитайте, сделайте выводы. В принципе с вашей предполагаемой нагрузкой то вам оно до жопы. Вам его как угодно можно подключить. Я предполагал нагрузку поболее. P.P.S. Предлагаю маразм еще круче - переписать сайт на Python :D |
нет сама посебе нагрузка на сайт будет.
А это грубо говоря некая предоставляемая услуга на сайте. Щас почитаю что на хабре пишут. ЗЫ Цитата:
|
вам на free-lance.ru и подобные
|
Цитата:
|
Цитата:
php скрипт посылает следующие заголовки: PHP код:
|
| Время: 11:36 |