bkt - A subprocess caching utility
bkt [OPTIONS] -- <COMMAND>...
CLI and Rust library for caching subprocess invocations
- <COMMAND>...
- The command to run
- --ttl
<DURATION>
- Duration the cached result will be valid for [env: BKT_TTL=] [default:
60s] [aliases: time-to-live]
- --stale
<DURATION>
- Duration after which the result will be asynchronously refreshed
- --warm
- Asynchronously execute and cache the given command, even if it's already
cached
- --force
- Execute and cache the given command, even if it's already cached
- --cwd
- Includes the current working directory in the cache key, so that the same
command run in different directories caches separately [aliases:
use-working-dir]
- --env
<NAME>
- Includes the given environment variable in the cache key, so that the same
command run with different values for the given variables caches
separately [aliases: use-environment]
- --modtime
<FILE>
- Includes the last modification time of the given file(s) in the cache key,
so that the same command run with different modtimes for the given files
caches separately [aliases: use-file-modtime]
- --discard-failures
- Don't cache invocations that fail (non-zero exit code). USE CAUTION when
passing this flag, as unexpected failures can lead to a spike in
invocations which can exacerbate ongoing issues, effectively a DDoS
- --scope
<NAME>
- If set, all cached data will be scoped to this value, preventing
collisions with commands cached with different scopes [env:
BKT_SCOPE=]
- --cache-dir
<DIR>
- The directory under which to persist cached invocations; defaults to the
system's temp directory. Setting this to a directory backed by RAM or an
SSD, such as a tmpfs partition, will significantly reduce caching overhead
[env: BKT_CACHE_DIR=]
- -h, --help
- Print help information
- -V, --version
- Print version information
The full documentation for bkt is maintained as a Texinfo
manual. If the info and bkt programs are properly installed at
your site, the command
- info bkt
should give you access to the complete manual.