write cache from executor thread