Скрипт аутентификации Python ejabberd не отвечает на изменения в базе данных - PullRequest
1 голос
/ 19 сентября 2010

У меня есть скрипт аутентификации в ejabberd (сервер XMPP), основанный на ЭТОЙ ССЫЛКЕ

Я немного изменил скрипт, чтобы вместо установки переменной он просто возвращал true или false.

Я использую Ubuntu, MySQL, ejabberd и Python.

Я могу аутентифицировать все записи, которые уже есть в базе данных. Но когда я добавляю или удаляю записи (я делаю это через phpMyAdmin), сценарий, кажется, не знает, что база данных изменилась (я удаляю пользователя в phpMyAdmin, и он все еще аутентифицирует пользователя). Единственный раз, когда скрипт распознает новые записи, это когда я перезагружаюсь или перезагружаю сервер ejabberd. Мне уже сказали, что это не проблема кэширования MySQL. Я убедился, что отключил кэширование внешней аутентификации для ejabberd.

Это все, что я могу думать прямо сейчас. Я добавлю больше информации, если смогу подумать. Любая помощь приветствуется. Я понятия не имею, что происходит.

Дополнение: я включил логи MySQL, и все запросы там, чтобы там не пропускались запросы.

1 Ответ

1 голос
/ 19 сентября 2010

Мне удалось решить эту проблему, изменив механизм базы данных обратно на MYISAM, а не INNODB.Но я хотел бы знать, можно ли это исправить для INNODB.

Редактировать: чтобы исправить это в innodb, установите autocommit в true

...