Check context before each preloading.

This commit is contained in:
Fabian Reinartz 2015-05-12 12:03:30 +02:00
parent 1b3d3b4d5c
commit 8ea94ebb58

View file

@ -131,19 +131,21 @@ func (a *Analyzer) Prepare(ctx context.Context) (local.Preloader, error) {
// Preload all analyzed ranges. // Preload all analyzed ranges.
for offset, pt := range a.offsetPreloadTimes { for offset, pt := range a.offsetPreloadTimes {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
start := a.Start.Add(-offset) start := a.Start.Add(-offset)
end := a.End.Add(-offset) end := a.End.Add(-offset)
for fp, rangeDuration := range pt.ranges { for fp, rangeDuration := range pt.ranges {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
err = p.PreloadRange(fp, start.Add(-rangeDuration), end, *stalenessDelta) err = p.PreloadRange(fp, start.Add(-rangeDuration), end, *stalenessDelta)
if err != nil { if err != nil {
return nil, err return nil, err
} }
} }
for fp := range pt.instants { for fp := range pt.instants {
if err = contextDone(ctx, env); err != nil {
return nil, err
}
err = p.PreloadRange(fp, start, end, *stalenessDelta) err = p.PreloadRange(fp, start, end, *stalenessDelta)
if err != nil { if err != nil {
return nil, err return nil, err