generate the cache inline, skip the worker