Skip to content

2.0.0

Compare
Choose a tag to compare
@ewjoachim ewjoachim released this 10 Mar 16:08
· 625 commits to main since this release
6c2384e

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 (actually, you shouldn't do it 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 (you won't have to configure an App either)
  • Procrastinate now exposes 3 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.

We've done some effort in bringing this version to completion and ensuring that it's the smoothest ride as possible considering there are breaking changes, but should you find yourself completely lost, feel free to open an issue in the repository.

Thank you @paulzakin for the help in testing out this release!

Migrations

No SQL migrations. There's a Django migration, which you can run safely as it doesn't contain any actual SQL code (you can also run it with --fake for the same result)

What's Changed

Breaking changes

Features

Bug Fixes

Miscellaneous

Documentation

New Contributors

Full Changelog: 1.1.2...2.0.0