diff options
Diffstat (limited to 'zenserver/upstream/upstreamcache.cpp')
| -rw-r--r-- | zenserver/upstream/upstreamcache.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/zenserver/upstream/upstreamcache.cpp b/zenserver/upstream/upstreamcache.cpp index c9ba59780..1a35f7283 100644 --- a/zenserver/upstream/upstreamcache.cpp +++ b/zenserver/upstream/upstreamcache.cpp @@ -1243,6 +1243,22 @@ public: } Status.EndArray(); } + + virtual void WaitForIdle() override + { + UpstreamCacheRecord CacheRecord; + while (m_RunState.IsRunning && m_UpstreamQueue.TryDequeue(CacheRecord)) + { + try + { + ProcessCacheRecord(std::move(CacheRecord)); + } + catch (std::exception& Err) + { + ZEN_ERROR("upload cache record '{}/{}' FAILED, reason '{}'", CacheRecord.Key.Bucket, CacheRecord.Key.Hash, Err.what()); + } + } + } private: void ProcessCacheRecord(UpstreamCacheRecord CacheRecord) |