Skip to content

Use a simple dictionary-based compression on the filenames #37

Open
@ShaheedHaque

Description

@ShaheedHaque

Thanks for this library. My interest in it is in sending exceptions across a Celery-to-parent multiprocess/billard process boundary, and also in storing the result in the Celery result backend. Some of this is moderately expensive/limited and it would be very useful to reduce the data involved. Given that a typical to_dict() representation is dominated by the filenames:

 'tb_frame': {
    'f_globals': {
      '__file__': '/main/srhaque/redacted/testdjango/redacted/tasks.py',
      '__name__': '?'
    },
    'f_code': {
      'co_filename': '/main/srhaque/redacted/testdjango/redacted/tasks.py',
      'co_name': 'function_run'
    }
  },
  'tb_lineno': 601,
  'tb_next': {

I implemented a simple dict-based "compression" scheme that eliminates the redundant filenames. Would an API-compatible patch to to_dict()/from_dict() for this purpose be of interest? If so, I'd be happy to provide a PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions