Version history

  • 2.5.1

    • Fix: Pydantic validation bug in TaskLogRecord and TaskRunRecord

  • 2.5.0

    • Update: Easier way to configure task

    • Add: Multi-launch system. Same task can now be run several times parallel.

      Run stacks were implemented to track the execution of each run. These runs can be tracked in the logs using the field run_id.

    • Update: rocketry.conds.running refactored to support multi-launch.

    • Update: Task cache is no longer set at initiation but at session start

    • Add: New config option timezone

    • Add: New config option time_func for testing scheduling

    • Add: New arguments, TaskLogger and SchedulerLogger

    • API: Added config option execution (deprecated task_execution)

    • API: Added task argument permanent (deprecated permanent_task)

    • Meta: Changed build from setup.py to pyproject.toml

  • 2.4.1

    • Fix: Warnings about task_execution in import

    • Docs: Fixed typos

    • Clean: Cleaned code base according to Pylint

  • 2.4.0

    • Add: New condition, Retry

    • Add: New condition to condition API, crontime

    • Add: New condition to condition API, scheduler_cycles (useful for testing)

    • Add: New arguments, EnvArg and CliArg

    • Add: Argument pipelining, Arg('missing') >> Arg('found')

    • Add: Now tasks can be set running with parameters using task.run(arg="value")

    • Add: Config option silence_task_logging to silence logging errors

    • Fix: Async and threaded tasks no longer limit max simultaneous processes

    • Fix: Timeperiod at for end of a period, ie. daily.at("23:00")

    • Fix: More consistent parameters

    • Update: Async will be default execution in the future. Warns if execution not defined

  • 2.3.0

    • Add: Cron style scheduling

    • Add: Task groups (Grouper) to support bigger applications

    • Add: New condition, TaskRunnable

    • Add: New methods to session (remove_task & create_task)

    • Add: always time period

    • Fix: Various bugs related to Any, All and StaticInterval time periods

    • Fix: Integers as start and end in time periods

    • Update: Now time periods are immutable

    • Update: Now if session is not specified, tasks create new one.

  • 2.2.0

    • Add: Async support

    • Add: More conditions in condition API

    • Add: Support for nested parameters

    • Update: session.shutdown renamed to session.shut_down

    • Fix: Task crash (scheduler suddenly exists) are now properly logged

    • Fix: TaskStarted condition’s bug in optimization.

    • Fix: Task to JSON

    • Docs: Improved handbook.

  • 2.1.2

    • Fix: Bug in task persistence. Task last action times were not queried.

    • Docs: Added logging handbook.

  • 2.1.1

    • Fix: bug in func condition parametrizing

  • 2.1.0

    • Add: Condition API (rocketry.conds) for easy alternative for the string syntax

    • Add: Now rocketry.args.Return accepts passing the task function

    • Add: Now app.cond(..) decorator returns the condition (instead of the function)

    • Add: Now conditions accept verbose arguments similarly as tasks do

    • Fix: typing import error for Python 3.7

    • Update: Now conditions are less stateful and they require passing the context when the status is inspected

    • Refactor: The condition mechanism under the hood

    • Requirements: Removed Pandas from dependencies

    • Deprecated: session.task_exists

  • 2.0.1

    • Fix: Rocketry(logger_repo=...) now does not remove previous handlers

    • Deprecate: Deprecated Rocketry(...).set_logger method

    • Docs: Fixed typos in documentation and added docstrings

  • 2.0.0

    • Update: Completely refactored the interface

    • Remove: Removed a lot of old, poorly supported code

  • 1.2.0

    • Add: shortcut condition syntax for multiple dependencies

    • Add: new task FlaskAPI and JSONAPI

    • Add: task dependency view

    • Add: new task CodeTask

    • Add: new hook Task.hook_execute

    • Fix: Bug in Return if a task executes too quickly

    • Fix: Major bug in optimized task conditions

    • Deprecate: Extensions should no longer be used

    • Update: Now hooks, parsers and task classes are stored in sessions

    • Update: A lot of undocumented code under the hood was removed

    • Update: Removed unsupported templates

  • 1.1.0

    • Add: conditions FuncCond and TaskCond

    • Add: new statements to condition syntax

    • Add: new argument Return and parameter pipelining

    • Add: FuncParam, similar to FuncTask and FuncCond

    • Fix: Minor bugs

    • Requirements: dropped Pyyaml in hard dependencies

    • Optimization: Now conditions read logs only if cannot be determined without. Can be switched off.

  • 1.0.0

    • First stable release