ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Межскриптовая синхронизация (PHP/Perl/SQL)
  #1  
Старый 31.10.2007, 12:58
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию Межскриптовая синхронизация (PHP/Perl/SQL)

Есть такая ситуация: Запускается первый скрипт и говорит "Я Вася", через некоторое время запускается второй и говорит "Я Петя", потом запускается третий и говорит, "Я Гриша, кстати Вася, тебе что-то пришло", а Вася проверяет что ему пришло. Все скрипты должны находится в режиме ожидания и их может быть очень много.

Кто-нибудь знает как такое реализовать не запуская свой демон? С демоном через сокеты я и так уже сделал, но это не слишком универсально, может есть более удобный метод?
 
Ответить с цитированием

  #2  
Старый 31.10.2007, 13:10
Аватар для biophreak
biophreak
Постоянный
Регистрация: 03.08.2007
Сообщений: 367
Провел на форуме:
876216

Репутация: 209
По умолчанию

А может просто запускать скрипты один из другого с нужными параметрами?
Если неправильно понял - не ругай...
 
Ответить с цитированием

  #3  
Старый 31.10.2007, 13:16
Аватар для groundhog
groundhog
Познавший АНТИЧАТ
Регистрация: 12.05.2007
Сообщений: 1,235
Провел на форуме:
2238549

Репутация: 1318


Отправить сообщение для groundhog с помощью ICQ
По умолчанию

hidden, если ты это мутишь на юникс платформе в консоли, то почему бы тебе не воспользоваться системой сигналов? Заведи юзерские сигналы, повесь на них обработчики и пускай нужный скрипт реагирует на сигнал что-то проверяя...
 
Ответить с цитированием

  #4  
Старый 31.10.2007, 21:18
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

2biophreak неправильно понял...

Цитата:
Сообщение от groundhog  
hidden, если ты это мутишь на юникс платформе в консоли, то почему бы тебе не воспользоваться системой сигналов?
Это вообще то на юниксовом серсере подразумевается, но не в консоли, а на аппаче и желательно в PHP
Цитата:
Сообщение от groundhog  
Заведи юзерские сигналы, повесь на них обработчики и пускай нужный скрипт реагирует на сигнал что-то проверяя...
Представь, если сотня скриптов будут реагировать на сигнал, который поступает каждую десятую секунды, что это получится, а ведь их может быть и больше, тем-более всё-равно надо что-то проверять, тогда нужно будет обеспечить синхронизированный доступ к этому ресурсу(как-то его сбрасывать), вариант сложнее и менее эффективен чем с демоном.
 
Ответить с цитированием

  #5  
Старый 31.10.2007, 22:16
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

совсем не ясна задача
 
Ответить с цитированием

  #6  
Старый 31.10.2007, 22:45
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Цитата:
Сообщение от ZaCo  
совсем не ясна задача
Поясняю...
Есть таблица в SQL, пользовательский скрипт устанавливает ожидание на определённую запись в этой таблице, а когда другой скрипт изменяет эту запись, он уведомляет тех, кто ожидает эту запись.

PS Такой вариант не катит.
Код:
for(;check_sql();sleep(100)){}

Последний раз редактировалось hidden; 31.10.2007 в 23:49..
 
Ответить с цитированием

  #7  
Старый 31.10.2007, 23:04
Аватар для nc.STRIEM
nc.STRIEM
Members of Antichat - Level 5
Регистрация: 05.04.2006
Сообщений: 1,066
Провел на форуме:
3493315

Репутация: 1228


Отправить сообщение для nc.STRIEM с помощью ICQ
По умолчанию

ну пусть когда какойто скрипт обновит, то он запустит тот скринт который ожидает
 
Ответить с цитированием

  #8  
Старый 01.11.2007, 00:15
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

>>Есть таблица в SQL, пользовательский скрипт устанавливает ожидание на
>>определённую запись в этой таблице, а когда другой скрипт изменяет эту запись, он
>>уведомляет тех, кто ожидает эту запись.

ну пусть пользовательский скрипт добавляет запись в отдельную таблицу `ocheredi` с указанием типа ожидаемой записи и rand_id, затем создает у себя файл rand_id с правами записи от пользователя apache (тут нужно уточнить рамки безопасности поставленной задачи) и синхронно read ожидает поступления новых байт. соответсвенно скрипт добавляющий очередную запись в таблицу проверяет одновременно `ocheredi` на наличие записей того же типа и пишет во все rand_id о поступлении новой записи, при этом удаляя обработанные записи.
 
Ответить с цитированием

  #9  
Старый 01.11.2007, 02:45
Аватар для hidden
hidden
Постоянный
Регистрация: 23.04.2006
Сообщений: 622
Провел на форуме:
5887054

Репутация: 1292


По умолчанию

Нее, пока-что перл-демон с блокирующими сокетами остаётся оптимальным вариантом.

Я просто подумал, может есть что-то типа CreateEvent, WaitForSingleObject (Виндовые функции) или в SQL так составить запрос, чтоб он ожидал изменения указанной записи...

Anyway, thanks for the tries...
 
Ответить с цитированием

  #10  
Старый 01.11.2007, 10:58
Аватар для ZaCo
ZaCo
Banned
Регистрация: 20.06.2005
Сообщений: 880
Провел на форуме:
4610226

Репутация: 1332


По умолчанию

>>Нее, пока-что перл-демон с блокирующими сокетами остаётся оптимальным вариантом.
только, я надеюсь, реализовано это все через unix-сокеты (af_unix)? а то на такие частые обращения портов не хватит)

>>Я просто подумал, может есть что-то типа CreateEvent, WaitForSingleObject
а зачем есть все на блокирующих сокетах? пусть ставит recv и ждет своего "события".

>>или в SQL так составить запрос, чтоб он ожидал изменения указанной записи...
не знаю как где, но mysql с его элементарным запрос-ответом этого сделать не позволит.
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Синхронизация закладок оперы Noman Схемы и программы 1 19.01.2007 03:40



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ