PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

uWSGI, Flask, sqlalchemy và postgres:Lỗi SSL:giải mã không thành công hoặc mac ghi lỗi

Vấn đề cuối cùng đã trở thành sự cố của uwsgi.

Khi làm việc với nhiều quy trình với một quy trình chính, uwsgi khởi tạo ứng dụng trong quy trình chính và sau đó sao chép ứng dụng sang từng quy trình công nhân. Vấn đề là nếu bạn mở một kết nối cơ sở dữ liệu khi khởi tạo ứng dụng của mình, sau đó bạn có nhiều quy trình chia sẻ cùng một kết nối, điều này gây ra lỗi ở trên.

Giải pháp là đặt lazy tùy chọn cấu hình cho uwsgi, buộc phải tải toàn bộ ứng dụng trong mỗi quá trình:

lazy

Đặt chế độ lười (tải ứng dụng trong công nhân thay vì chính).

Tùy chọn này có thể có ý nghĩa sử dụng bộ nhớ vì không thể sử dụng ngữ nghĩa Copy-on-Write. Khi chế độ lười được bật, chỉ nhân viên mới được tải lại bằng tín hiệu tải lại của uWSGI; chủ sẽ vẫn sống. Do đó, các thay đổi cấu hình uWSGI không được tải lại bởi cái chính.

Ngoài ra còn có một lazy-apps tùy chọn:

lazy-apps

Tải ứng dụng trong từng công nhân thay vì tải ứng dụng chính.

Tùy chọn này có thể có ý nghĩa sử dụng bộ nhớ vì không thể sử dụng ngữ nghĩa Copy-on-Write. Không giống như lười biếng, điều này chỉ ảnh hưởng đến cách các ứng dụng được tải, không ảnh hưởng đến hành vi của chính khi tải lại.

Cấu hình uwsgi này đã kết thúc hoạt động đối với tôi:

[uwsgi]
socket = /tmp/my_app.sock
logto = /var/log/my_app.log
plugins = python3
virtualenv =  /path/to/my/venv
pythonpath = /path/to/my/app
wsgi-file = /path/to/my/app/application.py
callable = app
max-requests = 1000
chmod-socket = 666
chown-socket = www-data:www-data
master = true
processes = 2
no-orphans = true
log-date = true
uid = www-data
gid = www-data

# the fix
lazy = true
lazy-apps = true


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. gói không thành công - Không thể tìm thấy thư viện máy khách PostgreSQL (libpq)

  2. Làm thế nào để chuyển đổi cơ sở dữ liệu trong psql?

  3. Gỡ cài đặt hoàn toàn PostgreSQL 9.0.4 khỏi Mac OSX Lion?

  4. Đặt thời gian chờ kết nối với PDO

  5. Triển khai và bảo trì PostgreSQL với Ansible