{"issue":{"title":"Fixed a compatibility problem with Sentry/Raven","user":{"login":"SeanOC","id":7662,"url":"https://api.github.com/users/SeanOC","avatar_url":"https://secure.gravatar.com/avatar/174cf6e6ea7ab41d54c73feb8670148b?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"174cf6e6ea7ab41d54c73feb8670148b"},"created_at":"2011-12-27T21:37:52Z","milestone":null,"labels":[],"state":"open","updated_at":"2011-12-28T16:20:52Z","id":2666491,"pull_request":{"patch_url":"https://github.com/ask/celery/pull/578.patch","html_url":"https://github.com/ask/celery/pull/578","diff_url":"https://github.com/ask/celery/pull/578.diff"},"closed_at":null,"html_url":"https://github.com/ask/celery/issues/578","body":"The logging/monitoring tool [Senty](https://github.com/dcramer/sentry) and it's django/celery client [Raven](https://github.com/dcramer/raven) do a bunch of frame inspection to provide nice stack trace info to developers.  Unfortunately, the tooling that Celery has in place to allow exception info to be pickled strips out too much of the Frame information which results in raven exploding on exception.\r\n\r\nI've updated the serializable version of the Frame class to pull in all of the information that raven is looking for while keeping the resulting object pickleable.\r\n\r\nIf your curious to see what raven is doing to inspect the frame objects, you can check it out [here](https://github.com/dcramer/raven/blob/master/raven/utils/stacks.py#L116).","number":578,"url":"https://api.github.com/repos/ask/celery/issues/578","comments":3,"assignee":null},"comment":{"user":{"login":"Ignas","id":95468,"url":"https://api.github.com/users/Ignas","avatar_url":"https://secure.gravatar.com/avatar/0b7b2102df4cb3130e504fc1b6588c89?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"0b7b2102df4cb3130e504fc1b6588c89"},"created_at":"2011-12-28T16:20:52Z","updated_at":"2011-12-28T16:20:52Z","id":3292286,"body":"Ahh, I see. Didn't think about using the Logging handler. Nice to know it\nwill be working after this fix too :)\n\nOn Wed, Dec 28, 2011 at 6:08 PM, Sean O'Connor <\nreply@reply.github.com\n> wrote:\n\n> Ah, I am wiring everything together using Django's [logging](\n> https://docs.djangoproject.com/en/dev/topics/logging/) configuration\n> tools and the [raven/sentry logging handler](\n> https://github.com/dcramer/raven/blob/master/docs/config/django.rst).\n>\n> I am not super familiar with the full process that Celery does for\n> log/exception handling but at the point where the logging handler receives\n> the exception from the celery worker, the exception has already been turned\n> into the pickleable form.\n>\n> ---\n> Reply to this email directly or view it on GitHub:\n> https://github.com/ask/celery/pull/578#issuecomment-3292157\n>","url":"https://api.github.com/repos/ask/celery/issues/comments/3292286"},"action":"created"}