slackapi / slackapi/bolt-python

Make Exeption traceable in lazy listener

Open
#635 8 comments 12 reactions 1 assignee View on GitHub

@seratch is already working on this.

Since Apr 20, 2022.

area:async area:sync enhancement
Dominant language
Python
Stars
1.3k
Forks
288
Avg merge
1d 8h
Merged PRs (30d)
10

Description

(Describe your issue and goal here)
Currently, using lazy listener for FAAS (such as AWS Lambda), it's really difficult to debug. If we have a exception, we just have something like

Failed to run an internal function (Exception ABC)

We don't know exactly, what is the error, traceback, error line etc...

 try:
            await internal_func(
                **build_async_required_kwargs(
                    logger=logger,
                    required_arg_names=arg_names,
                    request=request,
                    response=None,
                    this_func=internal_func,
                )
            )
        except Exception as e:
            logger.error(f"Failed to run an internal function ({e})")

So should we have an option to enable the exception traceback or provide some meaningful error information to debug instead of just simply message like that

On the other hand, the document about error handling does not work with lazy listener so we also need to update.
https://slack.dev/bolt-python/concepts#errors

Category (place an x in each of the [ ])
  • slack_bolt.App and/or its core components
  • slack_bolt.async_app.AsyncApp and/or its core components
  • Adapters in slack_bolt.adapter
  • [x ] Others

Requirements

Please read the Contributing guidelines and Code of Conduct before creating this issue or pull request. By submitting, you are agreeing to those rules.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.