Skip to main content

Cache

Struct Cache 

Source
pub struct Cache {
    pub root: PathBuf,
    /* private fields */
}
Expand description

The cache for one run; its workspace snapshot is taken on first use.

Fields§

§root: PathBuf

Implementations§

Source§

impl Cache

Source

pub fn prefetch_warm( &self, workspace: &Workspace, graph: &TaskGraph, prepared: &BTreeMap<String, PreparedTask>, restores: impl Fn(&str) -> bool, )

Starts fetching, for each task’s warm entry that asks for it, the remote save its restore would fetch, so it is here by the time the task runs. An entry whose paths are on disk, or that a save here would restore, fetches nothing, and a group shared by several tasks is fetched once. A few are fetched at once, those of the tasks with the fewest dependencies to wait for first. Only the tasks restores accepts, which restore warm state as they start, are fetched for; a task whose result is cached never uses what was fetched for it.

Source

pub fn abandon_prefetches(&self)

Stops fetching ahead without waiting for the fetches under way, as a cancelled run does, which no task will take.

Source§

impl Cache

Source

pub fn new(root: PathBuf) -> Self

Source

pub fn for_observation(workspace: &Workspace) -> Self

Records verified executions without configuring or using result stores.

Source

pub fn for_workspace( workspace: &Workspace, environment: &BTreeMap<OsString, OsString>, ) -> Self

The workspace’s cache, with the remote store its nx.json s3 or qk:storeServer key configures, if any. Credentials and modes are read from environment, which includes the workspace’s dotenv files. A remote store that cannot be used is reported and left out; the local cache still works.

Source

pub fn cold(self) -> Self

This cache with every task run from scratch, as --cold asks: see Cache::cold’s field.

Source

pub fn finish(&self, workspace: &Workspace)

Saves what later runs reuse and waits for background saves, uploads and retired-output cleanup, reporting failures.

Source

pub fn run( &self, workspace: &Workspace, graph: &TaskGraph, task: &Task, prepared: &PreparedTask, cancelled: &AtomicBool, ) -> Result<TaskResult>

Auto Trait Implementations§

§

impl !Freeze for Cache

§

impl !RefUnwindSafe for Cache

§

impl !UnwindSafe for Cache

§

impl Send for Cache

§

impl Sync for Cache

§

impl Unpin for Cache

§

impl UnsafeUnpin for Cache

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
Source§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
Source§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.