Releases: ralsina/croupier
Releases · ralsina/croupier
Croupier v0.5.0 is out
What's Changed
- New
TaskManager.auto_mode?
property - Yield on spawn to make concurrency more useful
- More efficient input handling
- Fix deadlocking bug in parallel runner
- Warn or error when tasks are next in line but not ready
Full Changelog: v0.4.1...v0.5.0
Croupier v0.4.1 out
What's new in v0.4.1?
- Add
mergeable
flag for tasks (default true) - Added
TaskManager.depends_on
function
Croupier version v0.4.0 is out
What's Changed
- Support key/value in addition to files as input/output
- Implement a persistent k/v store
- Implement fast_mode
- auto mode with kv
Full Changelog: v0.3.4...v0.4.0
Croupier version v0.3.4 is out
What's new?
- Fixed bug saving .croupier, was missing all inputs
- Added tests for
TaskManager.save_run
- Fixed bug in inotify watcher path lookup
- Fixed bug where auto_run would only run tasks once (found in Hacé)
Croupier version v0.3.3 is out
What's Changed
- Implemented
keep_going
flag for run_tasks - Added tests for exception raising behaviour in tasks
Full Changelog: v0.3.2...v0.3.3
Croupier version v0.3.2 is out
What's Changed
- Implement run_auto for selected targets, see #2
- Several bugfixes for run_auto
- Simplified and more efficient file watcher
Full Changelog: v0.3.1...v0.3.2
Croupier version v0.3.1 is out
What's Changed
-
Inotify support by @ralsina in #1
This adds the
TaskManager.auto_run
method that monitors task inputs and
reruns tasks as needed, andTaskManager.auto_stop
to stop it.This will be useful for Hacé (the croupier-based make-like) and Nicolino
(a SSG)Here's an example from the tests:
x = 0
counter = TaskProc.new { x += 1; x.to_s }
Task.new(output: "t1", inputs: ["i"], proc: counter)
TaskManager.auto_run
# We need to yield or else the watch callbacks never run
Fiber.yield
File.open("i", "w") << "foo"
Fiber.yield
TaskManager.auto_stop
# It should have run
(x > 0).should be_true
Full Changelog: v0.3.0...v0.3.1
Croupier version v0.3.0 is out
- Removed name parameter
- Made autogenerated
Task.@id
shorter - Implemented more complex task merging strategy (see
"complex merge" in the spec)
Croupier version v0.2.3 is out
- Made
TaskManager.all_inputs
more efficient - Call
TaskManager.sorted_tas_graph
less and made it faster - Make
@id
generation simpler
Full Changelog: v0.2.2...v0.2.3
Croupier version v0.2.2 is out
- Tasks without inputs should be treated like always_run tasks
(found via bug in Hacé) - Tasks without inputs and multiple outputs should not run twice
(found via bug in Hacé) - Made TaskManager an instance of a struct, and lost all the
class variables, simplifying code. - Removed some small methods from TaskManager.