Application error in herokuapp deployment

I have developed an interactive dashboard using Plotly and Dash in python. Now I have tried to deploy the dashboard using the Heroku app. I was following a video to deploy the dashboard. After completing all the steps when I clicked the link of my app it is showing “Application Error”.I have attached the picture. can anyone help me out? (I am working on a windows 10 system)enter image description here

Hi @Sawon. The first thing to do is to do as suggested in the error message: Check your logs from the Heroku CLI with heroku logs --tail.

I tried that but could not understand the errors. @fohrloop

Could you show the logs here?

okay by evening i will send. Anyway thanks for the help @fohrloop

2020-07-06T13:15:58.596264+00:00 heroku[run.2872]: Awaiting client

2020-07-06T13:15:58.648973+00:00 heroku[run.2872]: Starting process with command heroku\ logs\ --tail

2020-07-06T13:15:59.460307+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:118)

2020-07-06T13:15:59.460742+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:119)

2020-07-06T13:15:59.461273+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [118] [INFO] Worker exiting (pid: 118)

2020-07-06T13:15:59.471878+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [119] [INFO] Worker exiting (pid: 119)

2020-07-06T13:15:59.809362+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [136] [INFO] Booting worker with pid: 136

2020-07-06T13:15:59.855075+00:00 app[web.1]: [2020-07-06 13:15:59 +0000] [137] [INFO] Booting worker with pid: 137

2020-07-06T13:16:03.450597+00:00 heroku[run.2872]: Process exited with status 127

2020-07-06T13:16:03.494783+00:00 heroku[run.2872]: State changed from up to complete

This is the log I am getting when I am running the app @fohrloop.
Extremely sorry for the delay.

Based on that it is hard to say what is causing the python processes to crash. I would add some logging to the files and try to catch the problem.

To your app.py (dash entry point), I would add (to the top)

import logging
logging.basicConfig(
    level=logging.INFO,
    filename='app.log',
    format=
    '%(asctime)s [%(levelname)s] [%(pathname)s line %(lineno)d @%(thread)d] - %(message)s '
)

and then in the same or any other .py file:

logger = logging.getLogger(__name__)

# Add this to a line to see if that line is getting executed
logger.info('This is an info message')

If you want to leave the logging for a long time, I would suggest using RotatingFileHandler instead.

As per your suggetion I made the changes in my main.py file.But didn’t get any changes.
I attaching the logs here:

C:\Users\SAWON\Desktop\multi_dash>heroku logs --tail
2020-07-07T07:17:49.576491+00:00 heroku[web.1]: State changed from down to starting
2020-07-07T07:17:58.633680+00:00 heroku[web.1]: Starting process with command gunicorn main:server
2020-07-07T07:18:01.019804+00:00 app[web.1]: [2020-07-07 07:18:01 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-07-07T07:18:01.020403+00:00 app[web.1]: [2020-07-07 07:18:01 +0000] [4] [INFO] Listening at: http://0.0.0.0:48531 (4)
2020-07-07T07:18:01.020513+00:00 app[web.1]: [2020-07-07 07:18:01 +0000] [4] [INFO] Using worker: sync
2020-07-07T07:18:01.024697+00:00 app[web.1]: [2020-07-07 07:18:01 +0000] [10] [INFO] Booting worker with pid: 10
2020-07-07T07:18:01.125418+00:00 app[web.1]: [2020-07-07 07:18:01 +0000] [11] [INFO] Booting worker with pid: 11
2020-07-07T07:18:01.475768+00:00 heroku[web.1]: State changed from starting to up
2020-07-07T07:18:06.000000+00:00 app[api]: Build succeeded
2020-07-07T07:18:31.178478+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:10)
2020-07-07T07:18:31.178633+00:00 app[web.1]: put_cell 96220 0
2020-07-07T07:18:31.178634+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:11)
2020-07-07T07:18:31.179812+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-07-07T07:18:31.179836+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [11] [INFO] Worker exiting (pid: 11)
2020-07-07T07:18:31.556808+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [28] [INFO] Booting worker with pid: 28
2020-07-07T07:18:31.595939+00:00 app[web.1]: [2020-07-07 07:18:31 +0000] [29] [INFO] Booting worker with pid: 29
2020-07-07T07:19:01.708770+00:00 app[web.1]: [2020-07-07 07:19:01 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:28)
2020-07-07T07:19:01.708804+00:00 app[web.1]: [2020-07-07 07:19:01 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:29)
2020-07-07T07:19:01.709511+00:00 app[web.1]: [2020-07-07 07:19:01 +0000] [28] [INFO] Worker exiting (pid: 28)
2020-07-07T07:19:01.709601+00:00 app[web.1]: [2020-07-07 07:19:01 +0000] [29] [INFO] Worker exiting (pid: 29)
2020-07-07T07:19:02.015592+00:00 app[web.1]: [2020-07-07 07:19:02 +0000] [46] [INFO] Booting worker with pid: 46
2020-07-07T07:19:02.029365+00:00 app[web.1]: [2020-07-07 07:19:02 +0000] [47] [INFO] Booting worker with pid: 47
2020-07-07T07:19:32.072831+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:46)
2020-07-07T07:19:32.073066+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:47)
2020-07-07T07:19:32.074084+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [46] [INFO] Worker exiting (pid: 46)
2020-07-07T07:19:32.074660+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [47] [INFO] Worker exiting (pid: 47)
2020-07-07T07:19:32.395758+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [64] [INFO] Booting worker with pid: 64
2020-07-07T07:19:32.481471+00:00 app[web.1]: [2020-07-07 07:19:32 +0000] [65] [INFO] Booting worker with pid: 65
2020-07-07T07:20:02.552191+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:64)
2020-07-07T07:20:02.552556+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:65)
2020-07-07T07:20:02.553428+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [64] [INFO] Worker exiting (pid: 64)
2020-07-07T07:20:02.554455+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [65] [INFO] Worker exiting (pid: 65)
2020-07-07T07:20:02.877447+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [82] [INFO] Booting worker with pid: 82
2020-07-07T07:20:02.891463+00:00 app[web.1]: [2020-07-07 07:20:02 +0000] [83] [INFO] Booting worker with pid: 83
2020-07-07T07:20:33.003716+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:82)
2020-07-07T07:20:33.004143+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:83)
2020-07-07T07:20:33.004144+00:00 app[web.1]: put_cell 71188 13
2020-07-07T07:20:33.005280+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [82] [INFO] Worker exiting (pid: 82)
2020-07-07T07:20:33.005319+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [83] [INFO] Worker exiting (pid: 83)
2020-07-07T07:20:33.379256+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [100] [INFO] Booting worker with pid: 100
2020-07-07T07:20:33.468385+00:00 app[web.1]: [2020-07-07 07:20:33 +0000] [101] [INFO] Booting worker with pid: 101
2020-07-07T07:21:03.575312+00:00 app[web.1]: [2020-07-07 07:21:03 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:100)
2020-07-07T07:21:03.575484+00:00 app[web.1]: [2020-07-07 07:21:03 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:101)
2020-07-07T07:21:03.576413+00:00 app[web.1]: [2020-07-07 07:21:03 +0000] [101] [INFO] Worker exiting (pid: 101)
2020-07-07T07:21:03.578135+00:00 app[web.1]: [2020-07-07 07:21:03 +0000] [100] [INFO] Worker exiting (pid: 100)
2020-07-07T07:21:03.971740+00:00 app[web.1]: [2020-07-07 07:21:03 +0000] [118] [INFO] Booting worker with pid: 118
2020-07-07T07:21:04.062257+00:00 app[web.1]: [2020-07-07 07:21:04 +0000] [119] [INFO] Booting worker with pid: 119
2020-07-07T07:21:34.196318+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:118)
2020-07-07T07:21:34.196657+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:119)
2020-07-07T07:21:34.200323+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [118] [INFO] Worker exiting (pid: 118)
2020-07-07T07:21:34.201365+00:00 app[web.1]: put_cell 69848 0
2020-07-07T07:21:34.202509+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [119] [INFO] Worker exiting (pid: 119)
2020-07-07T07:21:34.629016+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [136] [INFO] Booting worker with pid: 136
2020-07-07T07:21:34.631203+00:00 app[web.1]: [2020-07-07 07:21:34 +0000] [137] [INFO] Booting worker with pid: 137
2020-07-07T07:22:04.689694+00:00 app[web.1]: [2020-07-07 07:22:04 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:136)
2020-07-07T07:22:04.689865+00:00 app[web.1]: [2020-07-07 07:22:04 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:137)
2020-07-07T07:22:04.690985+00:00 app[web.1]: [2020-07-07 07:22:04 +0000] [136] [INFO] Worker exiting (pid: 136)
2020-07-07T07:22:04.691114+00:00 app[web.1]: [2020-07-07 07:22:04 +0000] [137] [INFO] Worker exiting (pid: 137)
2020-07-07T07:22:05.080565+00:00 app[web.1]: [2020-07-07 07:22:05 +0000] [154] [INFO] Booting worker with pid: 154
2020-07-07T07:22:05.103804+00:00 app[web.1]: [2020-07-07 07:22:05 +0000] [155] [INFO] Booting worker with pid: 155
2020-07-07T07:22:35.158224+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:154)
2020-07-07T07:22:35.158838+00:00 app[web.1]: put_cell 85211 15
2020-07-07T07:22:35.159979+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:155)
2020-07-07T07:22:35.160459+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [154] [INFO] Worker exiting (pid: 154)
2020-07-07T07:22:35.165699+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [155] [INFO] Worker exiting (pid: 155)
2020-07-07T07:22:35.668267+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [172] [INFO] Booting worker with pid: 172
2020-07-07T07:22:35.730182+00:00 app[web.1]: [2020-07-07 07:22:35 +0000] [173] [INFO] Booting worker with pid: 173
2020-07-07T07:23:05.845571+00:00 app[web.1]: [2020-07-07 07:23:05 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:172)
2020-07-07T07:23:05.845750+00:00 app[web.1]: [2020-07-07 07:23:05 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:173)
2020-07-07T07:23:05.847698+00:00 app[web.1]: [2020-07-07 07:23:05 +0000] [173] [INFO] Worker exiting (pid: 173)
2020-07-07T07:23:05.899462+00:00 app[web.1]: [2020-07-07 07:23:05 +0000] [172] [INFO] Worker exiting (pid: 172)
2020-07-07T07:23:06.152152+00:00 app[web.1]: [2020-07-07 07:23:06 +0000] [190] [INFO] Booting worker with pid: 190
2020-07-07T07:23:06.219522+00:00 app[web.1]: [2020-07-07 07:23:06 +0000] [191] [INFO] Booting worker with pid: 191
2020-07-07T07:23:36.316707+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:190)
2020-07-07T07:23:36.316904+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:191)
2020-07-07T07:23:36.316923+00:00 app[web.1]: put_cell 77458 10
2020-07-07T07:23:36.317771+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [190] [INFO] Worker exiting (pid: 190)
2020-07-07T07:23:36.318326+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [191] [INFO] Worker exiting (pid: 191)
2020-07-07T07:23:36.779342+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [208] [INFO] Booting worker with pid: 208
2020-07-07T07:23:36.794427+00:00 app[web.1]: [2020-07-07 07:23:36 +0000] [209] [INFO] Booting worker with pid: 209
2020-07-07T07:24:06.841629+00:00 app[web.1]: [2020-07-07 07:24:06 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:208)
2020-07-07T07:24:06.845332+00:00 app[web.1]: [2020-07-07 07:24:06 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:209)
2020-07-07T07:24:06.846516+00:00 app[web.1]: [2020-07-07 07:24:06 +0000] [208] [INFO] Worker exiting (pid: 208)
2020-07-07T07:24:06.877858+00:00 app[web.1]: [2020-07-07 07:24:06 +0000] [209] [INFO] Worker exiting (pid: 209)
2020-07-07T07:24:07.205184+00:00 app[web.1]: [2020-07-07 07:24:07 +0000] [226] [INFO] Booting worker with pid: 226
2020-07-07T07:24:07.288813+00:00 app[web.1]: [2020-07-07 07:24:07 +0000] [227] [INFO] Booting worker with pid: 227
2020-07-07T07:24:36.898836+00:00 heroku[router]: at=error code=H12 desc=“Request timeout” method=GET path="/" host=test-ipl-dash.herokuapp.com request_id=08abba8b-1c75-4131-bc5a-35cad5524889 fwd=“103.249.39.239” dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 protocol=https
2020-07-07T07:24:37.347913+00:00 app[web.1]: [2020-07-07 07:24:37 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:226)
2020-07-07T07:24:37.348200+00:00 app[web.1]: [2020-07-07 07:24:37 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:227)
2020-07-07T07:24:37.349685+00:00 app[web.1]: [2020-07-07 07:24:37 +0000] [227] [INFO] Worker exiting (pid: 227)
2020-07-07T07:24:37.355540+00:00 app[web.1]: [2020-07-07 07:24:37 +0000] [226] [INFO] Worker exiting (pid: 226)
2020-07-07T07:24:38.130999+00:00 app[web.1]: [2020-07-07 07:24:38 +0000] [244] [INFO] Booting worker with pid: 244
2020-07-07T07:24:38.196810+00:00 app[web.1]: [2020-07-07 07:24:38 +0000] [245] [INFO] Booting worker with pid: 245
2020-07-07T07:25:08.337707+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:244)
2020-07-07T07:25:08.337961+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:245)
2020-07-07T07:25:08.339257+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [244] [INFO] Worker exiting (pid: 244)
2020-07-07T07:25:08.339779+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [245] [INFO] Worker exiting (pid: 245)
2020-07-07T07:25:08.787713+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [262] [INFO] Booting worker with pid: 262
2020-07-07T07:25:08.824763+00:00 app[web.1]: [2020-07-07 07:25:08 +0000] [263] [INFO] Booting worker with pid: 263
2020-07-07T07:25:09.704779+00:00 heroku[router]: at=error code=H12 desc=“Request timeout” method=GET path="/favicon.ico" host=test-ipl-dash.herokuapp.com request_id=3fae1ce1-6d0b-4ef8-ac08-5de93e4a5df9 fwd=“103.249.39.239” dyno=web.1 connect=0ms service=30000ms status=503 bytes=0 protocol=https
2020-07-07T07:25:38.906249+00:00 app[web.1]: [2020-07-07 07:25:38 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:262)
2020-07-07T07:25:38.906597+00:00 app[web.1]: [2020-07-07 07:25:38 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:263)
2020-07-07T07:25:38.907432+00:00 app[web.1]: [2020-07-07 07:25:38 +0000] [262] [INFO] Worker exiting (pid: 262)
2020-07-07T07:25:38.908275+00:00 app[web.1]: [2020-07-07 07:25:38 +0000] [263] [INFO] Worker exiting (pid: 263)
2020-07-07T07:25:39.367752+00:00 app[web.1]: [2020-07-07 07:25:39 +0000] [280] [INFO] Booting worker with pid: 280
2020-07-07T07:25:39.405845+00:00 app[web.1]: [2020-07-07 07:25:39 +0000] [281] [INFO] Booting worker with pid: 281
2020-07-07T07:26:09.496730+00:00 app[web.1]: [2020-07-07 07:26:09 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:280)
2020-07-07T07:26:09.497056+00:00 app[web.1]: [2020-07-07 07:26:09 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:281)
2020-07-07T07:26:09.498030+00:00 app[web.1]: [2020-07-07 07:26:09 +0000] [280] [INFO] Worker exiting (pid: 280)
2020-07-07T07:26:09.638604+00:00 app[web.1]: [2020-07-07 07:26:09 +0000] [281] [INFO] Worker exiting (pid: 281)
2020-07-07T07:26:10.011696+00:00 app[web.1]: [2020-07-07 07:26:10 +0000] [298] [INFO] Booting worker with pid: 298
2020-07-07T07:26:10.023190+00:00 app[web.1]: [2020-07-07 07:26:10 +0000] [299] [INFO] Booting worker with pid: 299
2020-07-07T07:26:40.124488+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:298)
2020-07-07T07:26:40.125819+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:299)
2020-07-07T07:26:40.128183+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [299] [INFO] Worker exiting (pid: 299)
2020-07-07T07:26:40.185344+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [298] [INFO] Worker exiting (pid: 298)
2020-07-07T07:26:40.464297+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [316] [INFO] Booting worker with pid: 316
2020-07-07T07:26:40.500536+00:00 app[web.1]: [2020-07-07 07:26:40 +0000] [317] [INFO] Booting worker with pid: 317
2020-07-07T07:27:10.596127+00:00 app[web.1]: [2020-07-07 07:27:10 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:316)
2020-07-07T07:27:10.597353+00:00 app[web.1]: [2020-07-07 07:27:10 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:317)
2020-07-07T07:27:10.597936+00:00 app[web.1]: [2020-07-07 07:27:10 +0000] [316] [INFO] Worker exiting (pid: 316)
2020-07-07T07:27:10.599210+00:00 app[web.1]: [2020-07-07 07:27:10 +0000] [317] [INFO] Worker exiting (pid: 317)
2020-07-07T07:27:10.934238+00:00 app[web.1]: [2020-07-07 07:27:10 +0000] [334] [INFO] Booting worker with pid: 334
2020-07-07T07:27:11.017776+00:00 app[web.1]: [2020-07-07 07:27:11 +0000] [335] [INFO] Booting worker with pid: 335
2020-07-07T07:27:41.125920+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:334)
2020-07-07T07:27:41.126625+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [4] [CRITICAL] WORKER TIMEOUT (pid:335)
2020-07-07T07:27:41.127975+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [334] [INFO] Worker exiting (pid: 334)
2020-07-07T07:27:41.130672+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [335] [INFO] Worker exiting (pid: 335)
2020-07-07T07:27:41.530569+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [352] [INFO] Booting worker with pid: 352
2020-07-07T07:27:41.626758+00:00 app[web.1]: [2020-07-07 07:27:41 +0000] [353] [INFO] Booting worker with pid: 353

Hi @Sawon, what I meant is to set up python logging, and then look into the python logs. In the example above, the python logs should have been written into your heroku server harddisk as file called app.log. Setting logging will not take the heroku errors away but by logging the application from intelligently selected lines of code, you might be able to see what is wrong with your python code.

1 Like

Heroku’s workers will timeout after 30s, which means any callback that runs for longer than that will be killed before it can be processed. Whatever is going on at startup is taking too long. I assume it’s right on the edge of 30s since the log message you added for put_cell shows up some of the time.

  • If you can break the method up into a chained set of smaller callbacks you could get around the problem.
  • Most people rely on separate processes to handle data / persist results to cache / etc. I think there are a couple boilerplate dash app repos that have integrated celery
2 Likes