"use strict";(self.webpackChunkdocs_v_2=self.webpackChunkdocs_v_2||[]).push([[3480],{95788:(e,r,n)=>{n.d(r,{Iu:()=>p,yg:()=>d});var t=n(11504);function a(e,r,n){return r in e?Object.defineProperty(e,r,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[r]=n,e}function o(e,r){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(e);r&&(t=t.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),n.push.apply(n,t)}return n}function s(e){for(var r=1;r<arguments.length;r++){var n=null!=arguments[r]?arguments[r]:{};r%2?o(Object(n),!0).forEach((function(r){a(e,r,n[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):o(Object(n)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(n,r))}))}return e}function i(e,r){if(null==e)return{};var n,t,a=function(e,r){if(null==e)return{};var n,t,a={},o=Object.keys(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||(a[n]=e[n]);return a}(e,r);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(t=0;t<o.length;t++)n=o[t],r.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}var l=t.createContext({}),c=function(e){var r=t.useContext(l),n=r;return e&&(n="function"==typeof e?e(r):s(s({},r),e)),n},p=function(e){var r=c(e.components);return t.createElement(l.Provider,{value:r},e.children)},u="mdxType",y={inlineCode:"code",wrapper:function(e){var r=e.children;return t.createElement(t.Fragment,{},r)}},g=t.forwardRef((function(e,r){var n=e.components,a=e.mdxType,o=e.originalType,l=e.parentName,p=i(e,["components","mdxType","originalType","parentName"]),u=c(n),g=a,d=u["".concat(l,".").concat(g)]||u[g]||y[g]||o;return n?t.createElement(d,s(s({ref:r},p),{},{components:n})):t.createElement(d,s({ref:r},p))}));function d(e,r){var n=arguments,a=r&&r.mdxType;if("string"==typeof e||a){var o=n.length,s=new Array(o);s[0]=g;var i={};for(var l in r)hasOwnProperty.call(r,l)&&(i[l]=r[l]);i.originalType=e,i[u]="string"==typeof e?e:a,s[1]=i;for(var c=2;c<o;c++)s[c]=n[c];return t.createElement.apply(null,s)}return t.createElement.apply(null,n)}g.displayName="MDXCreateElement"},36228:(e,r,n)=>{n.r(r),n.d(r,{assets:()=>l,contentTitle:()=>s,default:()=>y,frontMatter:()=>o,metadata:()=>i,toc:()=>c});var t=n(45072),a=(n(11504),n(95788));const o={title:"Async Queries via Celery",hide_title:!0,sidebar_position:9,version:1},s=void 0,i={unversionedId:"installation/async-queries-celery",id:"installation/async-queries-celery",title:"Async Queries via Celery",description:"Async Queries via Celery",source:"@site/docs/installation/async-queries-celery.mdx",sourceDirName:"installation",slug:"/installation/async-queries-celery",permalink:"/docs/installation/async-queries-celery",draft:!1,editUrl:"https://github.com/apache/superset/edit/master/docs/docs/installation/async-queries-celery.mdx",tags:[],version:"current",sidebarPosition:9,frontMatter:{title:"Async Queries via Celery",hide_title:!0,sidebar_position:9,version:1},sidebar:"tutorialSidebar",previous:{title:"Upgrading Superset",permalink:"/docs/installation/upgrading-superset"},next:{title:"Alerts and Reports",permalink:"/docs/installation/alerts-reports"}},l={},c=[{value:"Async Queries via Celery",id:"async-queries-via-celery",level:2},{value:"Celery",id:"celery",level:3},{value:"Celery Flower",id:"celery-flower",level:3}],p={toc:c},u="wrapper";function y(e){let{components:r,...n}=e;return(0,a.yg)(u,(0,t.c)({},p,n,{components:r,mdxType:"MDXLayout"}),(0,a.yg)("h2",{id:"async-queries-via-celery"},"Async Queries via Celery"),(0,a.yg)("h3",{id:"celery"},"Celery"),(0,a.yg)("p",null,"On large analytic databases, it\u2019s common to run queries that execute for minutes or hours. To enable\nsupport for long running queries that execute beyond the typical web request\u2019s timeout (30-60\nseconds), it is necessary to configure an asynchronous backend for Superset which consists of:"),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},"one or many Superset workers (which is implemented as a Celery worker), and can be started with\nthe ",(0,a.yg)("inlineCode",{parentName:"li"},"celery worker")," command, run ",(0,a.yg)("inlineCode",{parentName:"li"},"celery worker --help")," to view the related options."),(0,a.yg)("li",{parentName:"ul"},"a celery broker (message queue) for which we recommend using Redis or RabbitMQ"),(0,a.yg)("li",{parentName:"ul"},"a results backend that defines where the worker will persist the query results")),(0,a.yg)("p",null,"Configuring Celery requires defining a ",(0,a.yg)("inlineCode",{parentName:"p"},"CELERY_CONFIG")," in your ",(0,a.yg)("inlineCode",{parentName:"p"},"superset_config.py"),". Both the worker\nand web server processes should have the same configuration."),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},'class CeleryConfig(object):\n    broker_url = "redis://localhost:6379/0"\n    imports = (\n        "superset.sql_lab",\n        "superset.tasks.scheduler",\n    )\n    result_backend = "redis://localhost:6379/0"\n    worker_prefetch_multiplier = 10\n    task_acks_late = True\n    task_annotations = {\n        "sql_lab.get_sql_results": {\n            "rate_limit": "100/s",\n        },\n    }\n\nCELERY_CONFIG = CeleryConfig\n')),(0,a.yg)("p",null,"To start a Celery worker to leverage the configuration, run the following command:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre"},"celery --app=superset.tasks.celery_app:app worker --pool=prefork -O fair -c 4\n")),(0,a.yg)("p",null,"To start a job which schedules periodic background jobs, run the following command:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre"},"celery --app=superset.tasks.celery_app:app beat\n")),(0,a.yg)("p",null,"To setup a result backend, you need to pass an instance of a derivative of from\nfrom flask_caching.backends.base import BaseCache to the RESULTS_BACKEND configuration key in your superset_config.py. You can\nuse Memcached, Redis, S3 (",(0,a.yg)("a",{parentName:"p",href:"https://pypi.python.org/pypi/s3werkzeugcache"},"https://pypi.python.org/pypi/s3werkzeugcache"),"), memory or the file system\n(in a single server-type setup or for testing), or to write your own caching interface. Your\n",(0,a.yg)("inlineCode",{parentName:"p"},"superset_config.py")," may look something like:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"# On S3\nfrom s3cache.s3cache import S3Cache\nS3_CACHE_BUCKET = 'foobar-superset'\nS3_CACHE_KEY_PREFIX = 'sql_lab_result'\nRESULTS_BACKEND = S3Cache(S3_CACHE_BUCKET, S3_CACHE_KEY_PREFIX)\n\n# On Redis\nfrom flask_caching.backends.rediscache import RedisCache\nRESULTS_BACKEND = RedisCache(\n    host='localhost', port=6379, key_prefix='superset_results')\n")),(0,a.yg)("p",null,"For performance gains, ",(0,a.yg)("a",{parentName:"p",href:"https://github.com/msgpack/msgpack-python"},"MessagePack")," and\n",(0,a.yg)("a",{parentName:"p",href:"https://arrow.apache.org/docs/python/"},"PyArrow")," are now used for results serialization. This can be\ndisabled by setting ",(0,a.yg)("inlineCode",{parentName:"p"},"RESULTS_BACKEND_USE_MSGPACK = False")," in your ",(0,a.yg)("inlineCode",{parentName:"p"},"superset_config.py"),", should any\nissues arise. Please clear your existing results cache store when upgrading an existing environment."),(0,a.yg)("p",null,(0,a.yg)("strong",{parentName:"p"},"Important Notes")),(0,a.yg)("ul",null,(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},"It is important that all the worker nodes and web servers in the Superset cluster ",(0,a.yg)("em",{parentName:"p"},"share a common\nmetadata database"),". This means that SQLite will not work in this context since it has limited\nsupport for concurrency and typically lives on the local file system.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},"There should ",(0,a.yg)("em",{parentName:"p"},"only be one instance of celery beat running")," in your entire setup. If not,\nbackground jobs can get scheduled multiple times resulting in weird behaviors like duplicate\ndelivery of reports, higher than expected load / traffic etc.")),(0,a.yg)("li",{parentName:"ul"},(0,a.yg)("p",{parentName:"li"},"SQL Lab will ",(0,a.yg)("em",{parentName:"p"},"only run your queries asynchronously if")," you enable ",(0,a.yg)("strong",{parentName:"p"},"Asynchronous Query Execution"),"\nin your database settings (Sources > Databases > Edit record)."))),(0,a.yg)("h3",{id:"celery-flower"},"Celery Flower"),(0,a.yg)("p",null,"Flower is a web based tool for monitoring the Celery cluster which you can install from pip:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre",className:"language-python"},"pip install flower\n")),(0,a.yg)("p",null,"You can run flower using:"),(0,a.yg)("pre",null,(0,a.yg)("code",{parentName:"pre"},"celery --app=superset.tasks.celery_app:app flower\n")))}y.isMDXComponent=!0}}]);