superset连接sqlite频繁断开

Posted hongfeng2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了superset连接sqlite频繁断开相关的知识,希望对你有一定的参考价值。

 

技术图片

  出现上述现象的原因是SQLite只支持库级锁,不支持并发执行写操作,即使是不同的表,同一时刻也只能进行一个写操作。例如,事务T1在表A新插入一条数据,事务T2在表B中更新一条已存在的数据,这两个操作是不能同时进行的,只能顺序进行。这会导致superset在运行一段时间后报上面的错误.

 

解决方法: 用nginx + 官方推荐的 gunicorn起多线程,简单说就是一个线程挂了,让线程A进入等待队列。线程B完成操作后,再调用函数释放资源,这样线程A就可以继续执行了。  

pip3 install gunicorn

gunicorn -w 10 --timeout 120 -b 0.0.0.0:6666 --limit-request-line 0 --limit-request-field_size 0 --statsd-host localhost:8125 superset:app


nginx配置:
server
listen 80;
server_name superset.fengfeng.com;
root /usr/share/nginx/html;

# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;

location /
proxy_pass http://192.168.56.101:6666;

error_page 404 /404.html;
location = /40x.html

error_page 500 502 503 504 /50x.html;
location = /50x.html

 

以上是关于superset连接sqlite频繁断开的主要内容,如果未能解决你的问题,请参考以下文章

AnyDac - 如何断开与内存中的 sqlite db 的连接?

手机wifi反复断开连接

安装superset时的坑

SQLite无法在频繁的“SELECT”查询中打开数据库文件(代码14)

Mac Superset安装

Mac Superset安装