конфликт бд )

Print RSS
463

V
Author
Пришелец
0
Доброго времени суток. Ситуация следующая: нужно что бы без участия юзеров выполнялся некоторый сценарий. Налету создаются 10 файлов со сценарием и ещё один, который прикрепляется к крону и отправляет запросы через сокеты первым 10 файла. Все скипты обрабатываются в зависимости от массива, сохранённого в ячейке таблицы, и меняют его. Скрипт в файлах примерно такой: в цикле выполняется функция, которая шаманит с бд. В конце каждого цикла, что то на подобии sleep(rand(1,7)). Если запросы файлам отправлять дожидаясь окончания предыдущего, то всё норм,но мне нужно отправить одновременно и тут - непонятные действия сценария.. которые я связываю с одновременням использованием бд... Как можно решить эту проблемку ? Объяснил как смог, строго не судите smile

Оранжевые штаны
0
"Все скрипты обрабатываются в зависимости от массива, сохранённого в ячейке "
Не могу понять что вы хотите уважаемый!? база тут та какую роль должна играть?
Вообразить можно хоть на JS такие последовательности.
V
Author
Пришелец
0
2. ZipeR, дело в том, что запуская по отдельности, каждый скрипт работает, а при запуске относительно одновременно, приводит к непредсказуемому результату. Так как скипты работают с одной и той же таблицей в бд (изменяют её), мне кажется проблема в параллельном использование субд. Наверняка есть возможность сделать так, что бы запросы к таблице, mysql-сервер выполнял поочерёдно, только я не знаю как... Вот что я хотел узнать.
А

Пришелец
0
А вы перед тем как делать следуйщии манипуляции над таблицей, сохраняйте предыдущий результат.
V
Author
Пришелец
0
4. ByKuznec, да сохраняю. В том то и дело, что несколько файлов одновременно берут данные из бд и не могут учесть изменения которые произошли после.

Пацак
0
varloc (8 Сентября 2013 / 19:52)
В том то и дело, что несколько файлов одновременно берут данные из бд и не могут учесть изменения которые произошли после.
что вы имеете в виду 'одновременно' ?
Если это так как вы говорите, значит проблема в том, что вы что-то не предвидели в скрипте, при чем здесь какие-то 'конфликты с бд' ?

Землянин
0
можно узнать, что за шаманство и для каких благих дел?
V
Author
Пришелец
0
6. ZZZZZZ, приведу вам бональный пример. Есть таблица с двумя ячейками. Вам нужно проверить первую ячейку, если она равна нулю, то вторую ячейку изменить так, чтобы её содержимое осталось как есть и ещё приписать какой то набор символов, а первую приравнять к единице. Вы напите скрипт делающий всю это работу, но если по чистой случайности, этот скрипт запустит два юзера одновременно, оба юзера увидят 0 в первой ячейке, далее судите сами...
Changed: varloc (09.09.2013 / 00:37)

Землянин
0
8. varloc, а зачем такие крайности? я делал собственную бд со своими перв. ключами и шлюхами. когда стал вопрос в прерываниях, я делал так.
1) при запросе создаю файл (tablename.flock у меня) и выполняю запрос, после которого удаляю за собой файл.
2) при каждом запросе к данной таблице проверяем существование данного файла и если таковой имеется засыпаем например на 0.1 сек и в рекурсии пытаемся повторить запрос.

имеем: при каждом запросе скрипт проверяет не выполняется ли действие. если есть залипаем и повторяем снова. дерзай.
V
Author
Пришелец
0
9. free, спс за ответ. Но мне это не подойдёт sad Так как параллельных использований бд около 10.
Stickers / Tags / Rules / Top topics / Top Posts / Search