在 Superset 的文档中,他们使用以下命令启动 Gunicorn 工作人员和 celery 工作人员:
gunicorn -w 3 -k gevent --timeout 120 -b 0.0.0.0:8088 superset:app
celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4
谁能解释一下 Superset 背景下的 Gunicorn 工作人员和 celery 工作人员之间的区别吗?也就是说,gunicornworker 执行什么任务,celeryworker 执行什么任务。
最佳答案
Apache Superset,作为一个网络服务,需要一些东西来为通过网络浏览器连接的客户端提供服务 - 这就是gunicorn 来救援的地方。这些gunicorn worker 在那里处理客户请求。
然而,Celery 工作线程用于卸载可能需要很长时间和/或需要大量资源(CPU 功率、磁盘空间等)的各种任务。通常,Celery 工作线程是分布式的,Celery 集群可按需扩展/缩小。在 Superset 中,Celery 工作人员可以被告知发送计划的警报和报告、访问仪表板和报告以获取这些报告的屏幕截图、获取仪表板预览缩略图以及预热某些报告的缓存。关于celery - 如果是apache超集,gunicorn worker 和celery worker 有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/75542181/