github procrastinate-org/procrastinate 0.22.0
0.22.0: Blueprints, with_connector, list_locks, py3.10 etc.

latest releases: 0.30.0rc1, 0.29.0, 0.28.0...
2 years ago

Migrations

None (TODO: replace if there are migrations)
https://github.com/procrastinate-org/procrastinate/tree/master/procrastinate/sql/migrations

Breaking changes & news

This release officially adds Blueprints with their supported API. See the documentation for details. Note that if you used blueprints from Procrastiate 0.21, this is a breaking change.

Also, starting with this version, when the worker cannot function correctly (e.g. when it looses access to the database), it will crash instead of entering a half-broken state. This way, you get to define your own restart strategy, with back-off etc, the way you want.

App.with_connector lets you create multiple synchronized apps with different connectors, in case you need to support both a sync and an async app.

In procrastinate shell, a new list_locks command lets you find out about task locks that are currently set, to simplify the hunting for longstanding locks.

Support for python3.6 has been removed, support for python3.10 has been added.

Documentation has been updated regarding where you should place your app. In particular, in case you put your app in the module whose __name__ is __main__, a warning is now emitted, because this could lead to issues.

Periodic tasks used to all share a lock, so no 2 periodic tasks could run at the same time. This is now fixed.

And finally, did you notice ? The repository moved to the procrastinate-org organization, yay !

Features

  • Second pass on blueprints (#428)
  • App.with_connector (#463)
  • Add list_locks (#401)
  • Remove support for Python 3.6, add support for 3.10 (#470)

Bugfixes

  • Stop the whole worker process when a coroutine raises (#494)
  • Add a stack check (#442)
  • Null locks are ignored (#402)

Misc

  • Fix longstanding Mypy issues (#490)
  • Add croniter-types (#476)
  • First wave of CODEOWNERS update (#462)
  • Update dev-env (#475)
  • Tweaks in the contribution doc (#472)
  • Remove a bit of repetition in docs/requirements.txt by using extras (#457)
  • Add empty setup.py to counter dependabot bug. (#458)
  • Switch org to procrastinate-org (#459)

Bots

  • Bump typing-extensions from 4.0.0 to 4.0.1 (#496)
  • Bump pytest-django from 4.4.0 to 4.5.1 (#495)
  • [pre-commit.ci] pre-commit autoupdate (#492)
  • [pre-commit.ci] pre-commit autoupdate (#489)
  • [pre-commit.ci] pre-commit autoupdate (#485)
  • Bump importlib-resources from 5.2.2 to 5.4.0 (#481)
  • Bump django from 3.2.8 to 3.2.9 (#483)
  • Bump aiopg from 1.3.2 to 1.3.3 (#480)
  • Bump dunamai from 1.6.0 to 1.7.0 (#484)
  • Bump click from 8.0.1 to 8.0.3 (#482)
  • [pre-commit.ci] pre-commit autoupdate (#477)
  • Bump pytest-cov from 2.12.1 to 3.0.0 (#466)
  • Bump aiopg from 1.3.1 to 1.3.2 (#468)
  • Bump django from 3.2.7 to 3.2.8 (#467)
  • Bump sqlalchemy from 1.4.25 to 1.4.26 (#473)
  • Bump pytest-asyncio from 0.15.1 to 0.16.0 (#474)
  • [pre-commit.ci] pre-commit autoupdate (#469)
  • [pre-commit.ci] pre-commit autoupdate (#464)

Kudos:

@tomdottom, @elemoine, @ewjoachim

Don't miss a new procrastinate release

NewReleases is sending notifications on new releases.