Skip to content

2.0.0b1

Pre-release
Pre-release
Compare
Choose a tag to compare
@ewjoachim ewjoachim released this 25 Jan 00:12
· 641 commits to main since this release
ebf4f30

This release refactors the Django integration completely. Head to the Django section in the doc to discover how it works.

Here's a summary of the changes:

  • When using Procrastinate with Django, you don't need to define a Procrastinate App anymore. As long as Procrastinate is in your INSTALLED_APPS, you can use procrastinate.contrib.django.app. This special app uses the Django connection and doesn't need opening or closing.
  • Tasks defined under the tasks submodule of any app in INSTALLED_APPS are loaded by default. This is configurable (you can add paths to load, or change the name of the module containing your tasks in every app)
  • Some settings can be defined as PROCRASTINATE_* in your Django settings. See the complete doc for details (but there are no mandatory settings)
  • You can run the CLI with ./manage.py procrastinate (if you use that, you won't have to configure an App either)
  • Procrastinate now exposes 2 models and the corresponding ModelAdmins in your Django Admin. Those models are read-only. The Admin panels are very very basic for now.
  • Procrastinate is tested with Django tasks that call the classic django ORM and the new async ORM methods.

What's Changed

Breaking changes

  • Much better Django integration, implemented in #906

Kudos

While Procrastinate is mainly developed by myself, multiple contributors helped shaping this release over the last 2 years that it's been slowly boiling:

Full Changelog: 1.1.2...2.0.0