Releases: ralsina/croupier
Releases · ralsina/croupier
v0.5.1
- Add support for tasks depending on directories
- New
fast_dirs
mode in TaskManager for cheaper directory checks - Add progress callback
- Add support for passing blocks to Tasks:
Croupier::Task.new output: "fileA", inputs: ["input.txt"] do
puts "task1 running"
File.read("input.txt").downcase
end
Full Changelog: v0.5.0...v0.5.1
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