Skip to main content

instrument sql queries running on celery

Project description

celery-sqlcommenter

Attach SQL comments to correlate celery tasks with SQL statements.

This helps in easily correlating slow performance with async tasks and giving insights into backend database performance. In short it provides some observability into the state of your client-side applications and their impact on the database’s server-side.

When to use?

You're using celery with django, and want to trace the origin of database queries.

Does it replace / overlap sqlcommenter

No. I've been using sqlcommenter in production and it lacked the ability to annotate queries that were run in non-http context. Meaning all queries that originated from async flows were untagged.

This package fills that gap.

How to use

In a simple celery setup, just passing the BaseTask when declaring a celery object will do the job.

# if not using a base class, pass directly where you declare celery config
from celery_sqlcommenter import BaseTask
app = Celery("my-awsome-application", task_cls=BaseTask)

If you already have a custom BaseTask with specific functionality, replace the original celery.Task with celery_sqlcommenter.BaseTask

# old configuration
from celery import Task
class MyBaseTask(Task):

    # custom methods you've implemented
    def on_failure(self, exc, task_id, args, kwargs):
        pass


# simply replace Task with BaseTask provided by the package
from celery_sqlcommenter import BaseTask


# notice Task changed to BaseTask
class MyBaseTask(BaseTask):

    # custom methods you've implemented
    def on_failure(self, exc, task_id, args, kwargs):
        pass

Internally BaseTask inherits celery.Task so all functionality stays intact

How to install

Install the package from pypi

# vanilla
pip install celery-sqlcommenter

# poetry 
poetry add celery-sqlcommenter

How does it look live?

a simple celery task that takes a while

More Questions?

Please open an issue or drop a message on my socials, will be happy to help.

LinkedIn X

How to publish

  • poetry build
  • poetry config pypi-token.pypi
  • poetry publish

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

celery_sqlcommenter-0.2.tar.gz (3.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

celery_sqlcommenter-0.2-py3-none-any.whl (4.2 kB view details)

Uploaded Python 3

File details

Details for the file celery_sqlcommenter-0.2.tar.gz.

File metadata

  • Download URL: celery_sqlcommenter-0.2.tar.gz
  • Upload date:
  • Size: 3.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for celery_sqlcommenter-0.2.tar.gz
Algorithm Hash digest
SHA256 cfdcc25840c5890fba6a7b779759fbd068a4d2a5e20f6a0654837596247ae546
MD5 92d45542c88d79577ff52f56f54de176
BLAKE2b-256 561ec0629d1f8afba115ea823b87d0d00892aaec71dcc8b0ffbbd61699512765

See more details on using hashes here.

File details

Details for the file celery_sqlcommenter-0.2-py3-none-any.whl.

File metadata

  • Download URL: celery_sqlcommenter-0.2-py3-none-any.whl
  • Upload date:
  • Size: 4.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.13.5 Darwin/24.6.0

File hashes

Hashes for celery_sqlcommenter-0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 9e17e5407dc2586bbb2e6df932b21480b4e748202a02752c35e6d6433d9cd382
MD5 009d670d49f67edfd3ceadc36eede452
BLAKE2b-256 dc9d3b90645dd7ac6b8216df3592c8952d72219a4ca6435ded7335adb817b6cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page