Skip to content

TimeLimit middleware error on Python 3.13 #656

Closed
@anze3db

Description

Issues

GitHub issues are for bugs. If you have questions, please ask them on the mailing list.

Checklist

  • Does your title concisely summarize the problem?
  • Did you include a minimal, reproducible example?
  • What OS are you using?
  • What version of Dramatiq are you using?
  • What did you do?
  • What did you expect would happen?
  • What happened?

What OS are you using?

I've tested it on MacOS 15 and Debian 12

What version of Dramatiq are you using?

1.17.0

What did you do?

Upgraded to Python 3.13 and ran my Dramatiq worker configured with https://github.com/Bogdanp/django_dramatiq.

What did you expect would happen?

I expect no errors to be raised when the "dramatiq.middleware.TimeLimit", is enabled.

What happened?

The following error is raised:

TypeError: '_thread._ThreadHandle' object is not callable
[2024-10-08 12:48:06,729] [PID 31240] [Thread-1] [dramatiq.middleware.time_limit.TimeLimit] [ERROR] Unhandled error while running the time limit handler.
Traceback (most recent call last):
  File "/Users/anzepecar/code/fedidevs/.venv/lib/python3.13/site-packages/dramatiq/middleware/time_limit.py", line 113, in run
    self._handle()
    ~~~~~~~~~~~~^^

I assume that Python 3.13 changed the _thred._ThreadHandle signature.

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