Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

Запуск одного скрипта разными процессами

1

Не знаю правильно ли сформулировал, вообщем астериск вызывает через AGI питоновский скрипт и передает ему несколько переменных которые скрипт пишет в базу. Вопрос такой, допустим пришло два звонка абсолютно одновременно, по сути я так понимаю это два разных процесса астериск, но дергают то они физически один и тот же файл на диске. Каков исход этого процесса? Могут N скриптов получить доступ к одному и тому же скрипту и граммотно это обработать или какой то звонок в базе не появится?

удалить закрыть спам изменить тег редактировать

спросил 2012-04-18 10:56:00 +0400

godlike Gravatar godlike flag of Ukraine
814 92 24 62

Comments

запускается два процесса python. заметьте, каждый запуск требует очень много ресурсов. используйте fastagi. тем более что для питона такие фреймворки етсь.

meral ( 2012-04-22 12:26:33 +0400 )редактировать

Не фреймворка , а библиотеки. Да и в любом случае будет запускаться интерпретатор со своим адресным пространством и занимаемой памятью. И актуально это для любых языков, тут нет разницы питон это или пхп.

zzuz ( 2012-04-22 18:38:19 +0400 )редактировать

если запускать fastagi скрипт разница очень даже есть. и кстати для agi питон скомпиленный быстрее запускается. раз в 5-6 обычно.

meral ( 2012-04-22 21:49:08 +0400 )редактировать

Так речь не о скорости , а о том что каждый процесс запускает свой интрепритатор. И я предлагаю закончить дисскусию , потому как я помню Ваше недовольство языком Python и налицо незнание предмета.

zzuz ( 2012-04-22 22:26:19 +0400 )редактировать

2 Ответа

0

Представьте, у Вас веб-сервер, index.php(xml,asp,exe,html не важно) - это один файл, который пытаются прочитать и запустить N (при этом у кого-то N>1000) клиентов одновременно.. Вопрос: почему ресурс яндекс/гугл/одноглазники всегда доступен?

ссылка удалить спам редактировать

ответил 2012-04-21 23:40:17 +0400

um2010 Gravatar um2010
2056 70 13 55
0

Могут, AGI на это и расчитан. Плюс важно , что написано в самом скрипте. Каждый канал разговора - это отдельный поток выполнения инструкций сервера. Ньюансы многократного подключения к БД или чтения/записи файлов учитываются разработчиком программы , которая используется среду выполнения астериска.

ссылка удалить спам редактировать

ответил 2012-04-18 11:08:39 +0400

zzuz Gravatar zzuz flag of Russian Federation
7174 2 6 75
http://line24.ru/

Comments

скрипт просто создает в базе данных строку и пишет туда эти переменые, причем два звонка создают две записи, то есть по идее конфликта записи в бд быть не должно

godlike ( 2012-04-18 11:20:12 +0400 )редактировать

Да, по такой схеме конфликта не будет.

zzuz ( 2012-04-18 11:23:49 +0400 )редактировать

не факт. если например два скрипта обновляют одну запись,может быть неправильное обновление. но это уже дело базы а не скрипта. можно блокировку делать перед обновлением. и вообще,лучше использовать fastagi

meral ( 2012-04-22 12:25:19 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2012-04-18 10:56:00 +0400

Просмотрен: 341 раз

Обновлен: Apr 21 '12

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.