Hello,
We are having a problem that is driving us crazy. We are in a load-
balanced environment, with 2 webservers using Django+SQLAlchemy, and
one database server.
When a user is using the application, reads and writes work fine so
long as the user is on a single webserver. However, when we have a
load balancer with multiple web servers, sometimes the user is served
"cached" old, inaccurate data.
Every time a page is accessed, the session is established as follows:
engine = sqlalchemy.create_engine(ALCHEMY_DATABASE)
Session = sqlalchemy.orm.sessionmaker(bind=engine)
session = Session()
session.expire_all()
We have tried all kinds of different configurations for "Session", but
everything seems to be giving us bad "cached" data.
Can anybody please help? Thanks in advance.
-David
Example Scenario
1.webA read from db ( colmun-data = 10 )
2.webA write to db ( colmun-data = 15 )
OK
3.webB read from db ( colmun-data = 15 )
4.webB write to db ( colmun-data = 20 )increment 5
STILL OK
5.webA read from db ( colmun-data = 10 )
NOT OK - webA reads bad data
Environment:
two Django+SQLAlchemy Servers and one DatabaseServer
Web Servers:
- Python2.6
- Django1.1.1
- SQLAlchemy 0.6
- Mysql-python 1.2.3
with Nginx + Djanogo runfcgi mode (min 10 max100 prefork)
on CentOS 5.4 running 2 phisical servers via ipvs loadbalancer
Database Server:
- MySQLCluster 7.1
on CentOS5.4
--
You received this message because you are subscribed to the Google Groups
"sqlalchemy" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sqlalchemy?hl=en.