✨ v2.2.0 New scheduler, timestamps in logs, dashboard improvements, + more.
v2.2.0
New Features
-
New job scheduler
The job scheduler has been rewritten with a simpler syntax.mrsm sync pipes -s 'daily & mon-fri starting 00:00 tomorrow' -d
-
Add
show schedule
.
Validate your schedules' upcoming timestamps withshow schedule
.mrsm show schedule 'daily & mon-fri starting 2024-05-01' Next 5 timestamps for schedule 'daily & mon-fri starting 2024-05-01': 2024-05-01 00:00:00+00:00 2024-05-02 00:00:00+00:00 2024-05-03 00:00:00+00:00 2024-05-06 00:00:00+00:00 2024-05-07 00:00:00+00:00
-
Added timestamps to log file lines.
Log files now prepend the current minute to each line of the file, and the timestamps are also printed when viewing logs withshow logs
.
To disable this behavio, setMRSM{jobs:logs:timestamps:enabled}
tofalse
.You may change the timestamp format under the config keys
MRSM{jobs:logs:timestamps:format}
(timestamp written to disk) andMRSM{jobs:logs:timestamps:follow_format}
(timestamp printed when following viashow logs
.). -
Add
--skip-deps
.
When installing plugins, you may skip dependencies with--skip-deps
. This should improve the iteration loop during development.mrsm install plugin noaa --no-deps
-
Add logs buttons to job cards on the Web UI.
For your convenience, "Follow logs" and "Download logs" buttons have been added to jobs' cards. -
Add a Delete button to job cards on the Web UI.
You may now delete a job from its card (once stopped, that is). -
Add management buttons to pipes' cards.
For your convenience, you may now sync, verify, clear, drop, and delete pipes directly from cards. -
Designate your packages as plugins with the
meerschaum.plugins
entry point.
You may now specify your existing packages as Meerschaum plugins by adding themeerschaum.plugins
Entrypoint to your package metadata:from setuptools import setup setup( ..., entry_points = { 'meerschaum.plugins': [ 'foo = foo', ], }, )
or if you are using
pyproject.toml
:[project.entry-points."meerschaum.plugins"] foo = "foo"
-
Pre- and post-sync hooks are printed separately.
The results of sync hooks are now printed right after execution rather than after the sync.
Bugfixes
-
Fixed a filtering bug on the Web UI when changing instances.
When changing instances on the Web Console, the connector, metric, and location choices will reset appropriately. -
Ctrl+C when exiting
show logs
.
Pressing Ctrl+C will now exit theshow logs
immediately.
Breaking Changes
-
No longer supporting the old scheduler syntax.
If you have jobs with the old scheduler syntax (e.g. using the keywordbefore
), you may need to delete and recreate your jobs with an updated schedule. -
Upgraded to
psycopg
frompsycopg2
.
The upgrade topsycopg
(version 3) should provide better performance for larger transactions. -
Daemon.cleanup()
now returns aSuccessTuple
.
Other changes
- Bumped
xterm.js
to v5.5.0. - Added tags to the pipes card.
- Replaced
watchgod
withwatchfiles
. - Replaced
rocketry
withAPScheduler
. - Removed
pydantic
from dependencies. - Removed
passlib
from dependencies. - Bumped default TimescaleDB image to
latest-pg16-oss
. - Held back
duckdb
to<0.10.3
.