Version history¶
2.5.1Fix: Pydantic validation bug in
TaskLogRecordandTaskRunRecord
2.5.0Update: 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.runningrefactored to support multi-launch.Update: Task cache is no longer set at initiation but at session start
Add: New config option
timezoneAdd: New config option
time_funcfor testing schedulingAdd: New arguments,
TaskLoggerandSchedulerLoggerAPI: Added config option
execution(deprecatedtask_execution)API: Added task argument
permanent(deprecatedpermanent_task)Meta: Changed build from setup.py to pyproject.toml
2.4.1Fix: Warnings about
task_executionin importDocs: Fixed typos
Clean: Cleaned code base according to Pylint
2.4.0Add: New condition,
RetryAdd: New condition to condition API,
crontimeAdd: New condition to condition API,
scheduler_cycles(useful for testing)Add: New arguments,
EnvArgandCliArgAdd: 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_loggingto silence logging errorsFix: Async and threaded tasks no longer limit max simultaneous processes
Fix: Timeperiod
atfor 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.0Add: Cron style scheduling
Add: Task groups (
Grouper) to support bigger applicationsAdd: New condition,
TaskRunnableAdd: New methods to session (
remove_task&create_task)Add:
alwaystime periodFix: Various bugs related to
Any,AllandStaticIntervaltime periodsFix: 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.0Add: Async support
Add: More conditions in condition API
Add: Support for nested parameters
Update:
session.shutdownrenamed tosession.shut_downFix: Task crash (scheduler suddenly exists) are now properly logged
Fix:
TaskStartedcondition’s bug in optimization.Fix: Task to JSON
Docs: Improved handbook.
2.1.2Fix: Bug in task persistence. Task last action times were not queried.
Docs: Added logging handbook.
2.1.1Fix: bug in func condition parametrizing
2.1.0Add: Condition API (
rocketry.conds) for easy alternative for the string syntaxAdd: Now
rocketry.args.Returnaccepts passing the task functionAdd: 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.1Fix:
Rocketry(logger_repo=...)now does not remove previous handlersDeprecate: Deprecated
Rocketry(...).set_loggermethodDocs: Fixed typos in documentation and added docstrings
2.0.0Update: Completely refactored the interface
Remove: Removed a lot of old, poorly supported code
1.2.0Add: shortcut condition syntax for multiple dependencies
Add: new task
FlaskAPIandJSONAPIAdd: task dependency view
Add: new task
CodeTaskAdd: new hook
Task.hook_executeFix: Bug in
Returnif a task executes too quicklyFix: 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.0Add: conditions
FuncCondandTaskCondAdd: new statements to condition syntax
Add: new argument
Returnand parameter pipeliningAdd:
FuncParam, similar toFuncTaskandFuncCondFix: 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.0First stable release