An execution pool backed by a priority queue.
An execution pool backed by a priority queue. It limits the concurrent executions and the priority queue is ordered by the Ordering defined on the SchedulingContext.
An rate limiter pool backed by a priority queue.
An rate limiter pool backed by a priority queue. It rate limits the executions and the priority queue is ordered by the Ordering defined on the SchedulingContext.
The implementation is based on the tokens bucket algorithm.
A priority queue ordered by SchedulingContext priority.
Allow to make HTTP calls in a managed way with rate limiting.
Allow to make HTTP calls in a managed way with rate limiting.
It uses lolhttp as HTTP client.
Allow to fork process locally in a managed way.
Allow to fork process locally in a managed way.
It provides the exec
interpolator that you can use to fork shell scripts:
exec"""hdfs dfs -cp /from /to"""()
The script your provide will be forked into another process.
Note that if you provide several commands separated by ;' only the first one will be forked
and the other ones will be ignored.
If you really need to run several commands, you can use one of the followed ways:
1. Chain multiple execs in a for-comprehension. Because of platform mechanism it will require several platform allocations to run completely.
2. Wrap it in one sh -c' _In this case we cannot guarantee that
all process spawned inside this fork will be successfully killed when we kill the parent process._
Defines useful ExecutionPlatforms: