I'm deploying a slack-bolt application on Heroku(Procfile: web: gunicorn app:app), but I get these errors

649 views Asked by At
T18:20:08.600598+00:00 app[api]: Deploy ff14e74f by user **************
2020-11-29T18:20:09.097535+00:00 heroku[web.1]: State changed from crashed to starting
2020-11-29T18:20:12.106699+00:00 heroku[web.1]: Starting process with command `gunicorn app:app`
2020-11-29T18:20:15.362809+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [4] [INFO] Starting gunicorn 20.0.4
2020-11-29T18:20:15.363321+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [4] [INFO] Listening at: http://0.0.0.0:37714 (4)
2020-11-29T18:20:15.363414+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [4] [INFO] Using worker: sync
2020-11-29T18:20:15.367200+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [10] [INFO] Booting worker with pid: 10
2020-11-29T18:20:15.450179+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [11] [INFO] Booting worker with pid: 11
2020-11-29T18:20:15.563377+00:00 app[web.1]: /app/.heroku/python/lib/python3.6/site-packages/slack/deprecation.py:16: UserWarning: slack package is deprecated. Please use slack_sdk.web/webhook/rtm package instead. For more info, go to https://slack.dev/python-slack-sdk/v3-migration/
2020-11-29T18:20:15.563379+00:00 app[web.1]:   warnings.warn(message)
2020-11-29T18:20:15.990414+00:00 app[web.1]: As you gave `installation_store`/`authorize` as well, `token` will be unused.
2020-11-29T18:20:15.991432+00:00 app[web.1]: Application object must be callable.
2020-11-29T18:20:15.993433+00:00 app[web.1]: [2020-11-29 18:20:15 +0000] [10] [INFO] Worker exiting (pid: 10)
2020-11-29T18:20:16.084355+00:00 app[web.1]: As you gave `installation_store`/`authorize` as well, `token` will be unused.
2020-11-29T18:20:16.085398+00:00 app[web.1]: Application object must be callable.
2020-11-29T18:20:16.087102+00:00 app[web.1]: [2020-11-29 18:20:16 +0000] [11] [INFO] Worker exiting (pid: 11)
2020-11-29T18:20:16.159486+00:00 app[web.1]: Traceback (most recent call last):
2020-11-29T18:20:16.159493+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 209, in run
2020-11-29T18:20:16.159811+00:00 app[web.1]:     self.sleep()
2020-11-29T18:20:16.159813+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 357, in sleep
2020-11-29T18:20:16.160060+00:00 app[web.1]:     ready = select.select([self.PIPE[0]], [], [], 1.0)
2020-11-29T18:20:16.160061+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
2020-11-29T18:20:16.160244+00:00 app[web.1]:     self.reap_workers()
2020-11-29T18:20:16.160245+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 528, in reap_workers
2020-11-29T18:20:16.160470+00:00 app[web.1]:     raise HaltServer(reason, self.APP_LOAD_ERROR)
2020-11-29T18:20:16.160501+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'App failed to load.' 4>
2020-11-29T18:20:16.160502+00:00 app[web.1]: 
2020-11-29T18:20:16.160502+00:00 app[web.1]: During handling of the above exception, another exception occurred:
2020-11-29T18:20:16.160503+00:00 app[web.1]: 
2020-11-29T18:20:16.160506+00:00 app[web.1]: Traceback (most recent call last):
2020-11-29T18:20:16.160506+00:00 app[web.1]:   File "/app/.heroku/python/bin/gunicorn", line 8, in <module>
2020-11-29T18:20:16.160616+00:00 app[web.1]:     sys.exit(run())
2020-11-29T18:20:16.160616+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/wsgiapp.py", line 58, in run
2020-11-29T18:20:16.160733+00:00 app[web.1]:     WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]").run()
2020-11-29T18:20:16.160734+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 228, in run
2020-11-29T18:20:16.160888+00:00 app[web.1]:     super().run()
2020-11-29T18:20:16.160889+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/app/base.py", line 72, in run
2020-11-29T18:20:16.161004+00:00 app[web.1]:     Arbiter(self).run()
2020-11-29T18:20:16.161005+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 229, in run
2020-11-29T18:20:16.161173+00:00 app[web.1]:     self.halt(reason=inst.reason, exit_status=inst.exit_status)
2020-11-29T18:20:16.161174+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 342, in halt
2020-11-29T18:20:16.161380+00:00 app[web.1]:     self.stop()
2020-11-29T18:20:16.161380+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 393, in stop
2020-11-29T18:20:16.161600+00:00 app[web.1]:     time.sleep(0.1)
2020-11-29T18:20:16.161608+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
2020-11-29T18:20:16.161765+00:00 app[web.1]:     self.reap_workers()
2020-11-29T18:20:16.161769+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 528, in reap_workers
2020-11-29T18:20:16.162094+00:00 app[web.1]:     raise HaltServer(reason, self.APP_LOAD_ERROR)
2020-11-29T18:20:16.162095+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'App failed to load.' 4>
2020-11-29T18:20:16.226619+00:00 heroku[web.1]: Process exited with status 1
2020-11-29T18:20:16.272704+00:00 heroku[web.1]: State changed from starting to crashed
2020-11-29T18:20:17.000000+00:00 app[api]: Build succeeded

Do you have any clue how to solve this error? Do I have to change the Proc file? I tried to boot the server using ngrok but it seems that there's already a process running in my system but I cannot figure out its ID. This question is for a friend, so this is all I know. Looking forward to your help!

1

There are 1 answers

0
bmosley On

for Bolt, you'll still need to point gunicorn to your flask_app (Flask() instance) so on the command line try app:flask_app or whatever you named the variable.