спасибо, помогло, хотя как вы и сказали ругается ERROR[1733]: utils.c:1164 ast_carefulwrite: write() returned error: Broken pipe
godlike ( 2011-12-22 18:06:41 +0400 )редактироватьmeral, интересно, а почему "питон это не самый лучший вариант для скрипта. мягко говря."? С чем вы сравниваете?
VetaLkrot ( 2011-12-25 12:39:39 +0400 )редактироватьпитон как fastagi очень плохо изза GOL, он вообще крайне фигово работает с множеством нитей. ну а как AGI - каждый раз когда вы его вызываете он вызывает интерпертатор, частично компилирует байт код и резервирует кучу памяти. вобщем хуже питона только java. порверяется просто. берете в цикле 100 раз вашу прогарму запускаете и смотрите сколько времени пройдет. для питона это гдето 20 раз в секунду не больше. джава еще хуже. его вооще только fastagi режиме можно иначе бред. у джавы запуск кода hello-word будет порядка 0.05-0.2 секунды!!
meral ( 2011-12-25 13:35:34 +0400 )редактироватьеще надо не забывать что в реале будет больеш времени, ибо при нагруженой система большой шанс что какойто файлик сечас надо грузить с диска, а диск занят. вобщем если используете питон - больше 5 конектов в секнду не расчитывайте и лучше чтоб было памяти больше чем надо на 400-500 Мб на кеш.
meral ( 2011-12-25 13:39:47 +0400 )редактироватьно это было теория.а практика такая. мне не известно НИ ОДНОГО удачного проекта на питоне для *. зато известно 4 неудачных. даже на джава(в fastagi) работающих проектов больше.
meral ( 2011-12-25 13:41:49 +0400 )редактироватьПроблема с глобал локом "GIL" есть. Но, теже проблемы локов астериска вылезут раньше чем в интерпретаторе питона. Что касательно использования fastagi, то встает другой вопрос - зачем здесь использовать блокирующиеся треды? Ведь есть замечательный фреймворк twisted, который позволяет асинхронно обрабатывать десятки тысяч соединений и как результат, меньше тредов, - нету GIL. Касательно компилирования и резервирования памяти AGI скриптами, так это общая проблема всех интерпретируемых языков с динамической типизацией. Если так судить, то выходит что все скрипты нужно писать на чистом С. Про всякие шаблонизаторы типа PHP я вообще молчу.
VetaLkrot ( 2011-12-25 16:25:53 +0400 )редактироватьну блин. я же вам говрю это не теория а практика. не работает нормально питон с потоками. я тут ни причием.просто приходилось переписовать питонутый поточный код, который даже переписаный 1в1 на перле работает в 10-15 раз быстрее. я ж не виновать что средний программист на питоне не пишет с использований не блокирующих фреймворков. я на нем не пишу(ну кроме пары учебных проектов и двух по просьбе заказчика). и вообще асинхронный код отлаживать в разы сложнее. смысла не вижу. нет, все что пишеться на диалплане надо писать на диалплане а потом сразу на fastagi писать. срипты на с писать не надо. ибо оно то круто, но получает в 6 раз затратнее и смысла нету. вот щас на С пишу первый раз за 8 лет. но даже на с аги скрпт работать будет не очень. а fastagi и на перле прекрасно работает. и перл в strict режиме это оптимально для таких скриптов. зы. вот кстати php отрабатывает быстрее питона. почему - обратитесь к разработчикам питона. наверно они не любят короткие скриптики.
meral ( 2011-12-25 17:55:54 +0400 )редактироватьНе хочу разводить холивар. Сам раньше писал на перле, несколько лет назад перешел на питон и сразу достиг дзена. Касательно отладки асинхронного кода, то здесь основная проблема не в самом процессе отладки, а в понимании как оно работает, как правильно словить колл-бек и обработать его. А что до обработки диалплана в самом диалплане, здесь согласен на все 100, а в многих случаях можно обойтись и без fastagi. Что каcается удачных проектов на питоне, могу привести в пример нашу систему управления и сбора данных для распределенных колл-центров, где питон демон написан с использованием twited через AMI подключается к астериск серверам и отлавливает необходимые события передавая их подключенным операторам и супервизорам. По сути что-то вроде прокси. Думаю скоро выдерем часть кода и подарим опенсорсу как WebSocet Operator Panel.
VetaLkrot ( 2011-12-25 18:30:20 +0400 )редактироватьха. так ami то асинхронная. понятно что там асинхронно будет. дзен понятие относительное. на перле удобно ибо он как раз обработки текста. может вы дзен перла просто не грокнули. на перле fastagi пишеться тривильно используя Asterisk::FastAGI в режиме пре-форка. в данном случае конкретно я пишу на чем скажут. и холивары мне не нужны. это практические наблюдения. да у питона задумка красивая. но вот реализация конкретно для * фиговая.
meral ( 2011-12-25 18:51:25 +0400 )редактировать