2014-06-18 15 views
5

Tôi có một ứng dụng hiển thị nội dung của cơ sở dữ liệu cập nhật sau mỗi 5-10 phút. Tải tất cả dữ liệu trong cơ sở dữ liệu mất khoảng 5 phút. Thay vì tải lại tất cả dữ liệu trong cơ sở dữ liệu với mỗi lần làm mới, tôi chỉ muốn tải các hàng mới hoặc các trường của hàng đã được cập nhật.Đang chờ cập nhật hàng hoặc chèn hàng với sqlalchemy

  1. Có thể kiểm tra các trường đã thay đổi hoặc mới bằng sqlalchemy (để thăm dò ý kiến ​​thay đổi) không?
  2. Có thể đợi các trường đã thay đổi hoặc mới bằng sqlalchemy (có cuộc gọi chức năng chặn) không?

Cơ sở dữ liệu là cơ sở dữ liệu postgres, nếu điều đó quan trọng.

Trả lời

2

ProstgeSQL có cơ chế NOTIFY/LISTEN có thể được sử dụng với trình kích hoạt để gửi thông báo chèn, xóa và cập nhật. Thông báo bao gồm một đối số như bảng và hành động.

Có vẻ như SQLAlchemy không hỗ trợ chức năng này, có lẽ vì nó không phải là tiêu chuẩn SQL nhưng đặc biệt là Postgres.

Dưới đây là một ví dụ về kiểm tra các thay đổi trong một cơ sở dữ liệu prostgres với THÔNG BÁO/LISTEN sử dụng python và xoắn http://www.divillo.com/

Disclaimer, Tôi vừa mới được scumming qua các tài liệu của SQLAlchemy và postgres. Nhiều googling trên NOTIFY trong postgres và python có thể cung cấp thêm trợ giúp.

Các vấn đề liên quan