How use global cache with multiple runner(machines) for store common datafile with gitlab

hello,

gitlab 11.2

i use global cache for store a persistent catalogfile csv for set tests reports link list html for my portal and i record each pipeline scheduled. i display list in gitlab page.
But it seem when i work with an another runner, my global file cached is not up to date exemple, start pipeline 1 work on runner1, my cache file report is updated, pipeline 2 work on runner 2, my cache file report is updated, but the update of runner1 is missing.

how set correctly the configuration of global cache for all runner ? what is the way ?

how sync a common file for all runner machine ?

edit: seem possible to store it with S3 amazon or gcs google for all runner, only 11.3

thanks for you advice and help

i use global cache for store my catalogfile, if i use directly my pipeline via play button of gitlab sheduler several time, the current pipeline eat the last line recoreded in my catalog file of previous job, if i run pipeline several time directrly without scheduler, my catalogfile is updated correclty. seem to be a bug with pipeline scheduler and global cache. seem missing a flush in case scheduled jobs