несколько вопросов, касающихся одновременного доступа к MySQL из PHP и Django / Python - PullRequest
0 голосов
/ 06 мая 2011

Что я хочу сделать (и сделал), так это получить доступ к той же базе данных MySQL. и таблица из сценария PHP и приложения Django. Однако я хотел бы знать, может ли способ, которым я делаю это, вызвать ошибки или проблемы. Я надеюсь, что вы можете помочь:)

Настройка на данный момент:

Дело в том, что я настраиваю двусторонний шлюз SMS. Пользователь отправляет смс-сообщение провайдеру sms-шлюза, который затем отправляет запрос POST на указанный мной URL-адрес.

mydomain.com / шлюз / receive.php

Этот скрипт вставляет сообщение данных (определенное провайдером шлюза), отправитель, код в базу данных MySQL. и таблица с именем gateway… а также переменная с именем «retrieved», которая вначале является логической и = False. Затем он возвращает XML-ответ провайдеру шлюза, чтобы они могли быть уверены, что смс-сообщение было доставлено (и уведомить пользователя с помощью смс-сообщения)

Каждые несколько минут, мое приложение Django. смотрит через тот же дб. и таблица и ищет все записи смс с "retrieved = False". Для каждого объекта создается новый объект в приложении Django с теми же данными (этот объект затем привязывается к точному пользователю, помечается меткой времени, форматируется и т. Д.), А исходный объект из таблицы шлюзов устанавливается на «retrieved = True». а затем сохранено ... (на всякий случай ... и для целей "журнала")

Причина, по которой я использую PHP, заключается в времени отклика с моим хостингом. PHP намного быстрее (прямо за сервером nginx) вместо приложения django. который находится на сервере пользовательской сборки apache2. Поэтому для корректной работы sms-части установки мне придется использовать PHP для этой части. Также я обнаружил, что простой PHP-скрипт гораздо менее подвержен простоям, чем более сложная установка apache2 + Django.

Так что вопрос ... Может ли это вызвать какие-либо проблемы ... Наличие PHP и сценариев Django / Python для доступа к одной и той же базе данных mysql. одновременно? Является ли это вообще правильным способом создания такого рода вещей… Моя главная проблема - какие-то проблемы с PHP-скриптом, вставляющим новый материал, в то время как часть Django читает / редактирует старый материал (или тот же материал)

Надеюсь, это имеет смысл. И что вы можете помочь? Это может быть не проблема ... Я просто хотел бы иметь немного уверенности :)

Спасибо.

С уважением

Пита

Ответы [ 2 ]

0 голосов
/ 06 мая 2011

Пока ваш первый процесс просто вставляет новые данные, а второй обрабатывает / обновляет существующие записи, вы должны быть в полной безопасности.Если нет, то вам следует использовать оптимистическую или пессимистическую блокировку и / или использовать транзакции.

0 голосов
/ 06 мая 2011

Использование транзакций , даже в запросах .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...