Я использую web2py для подключения своего веб-сайта. Я решил использовать web2py DAL для долгосрочной программы, которая работает за сайтом. Эта программа, похоже, не обновляет свои данные или базу данных (иногда).DAL без web2py
from gluon.sql import *
from gluon.sql import SQLDB
from locdb import *
# contains
# db = SQLDB("mysql://user/[email protected]/mydb", pool_size=10)
# db.define_table('orders', Field('status', 'integer'), Field('item', 'string'),
# migrate='orders.table')
orderid = 20 # there is row with id == 20 in table orders
#when I do
db(db.orders.id==orderid).update(status=6703)
db.commit()
Он не обновляет базу данных и не выбирает по заказу с этим идентификатором, показывает правильные данные. В некоторых случаях «db.rollback()» после фиксации, похоже, помогает.
Очень странно сказать наименее. Вы видели это? Что еще важнее, вы знаете решение?
UPDATE:
Исправление: Выбор: в вопросе делается в рамках программы, а не за ее пределами.
Иногда, когда вы делаете серию обновлений, некоторые из них будут работать и быть доступны снаружи, а некоторые будут недоступны. Также некоторые запросы возвратят данные, которые они изначально вернули, даже если данные имеют изменения в БД с первого запроса.
У меня возникает соблазн свалить этот подход и перейти к другому методу, любые предложения?
виду, что объект БД не могут быть разделены между потоками. – mdipierro