parameters: (self, sig, files_from, files_to)
return_statement: return OK
docstring: Copy files to the cache, existing files are overwritten,
  		and the copy is atomic only for a given file, not for all files
  		that belong to a given task object
docstring_summary: Copy files to the cache, existing files are overwritten,
  		and the copy is atomic only for a given file, not for all files
  		that belong to a given task object
docstring_tokens: Copy files to the cache existing files are overwritten and the copy is atomic only for a given file not for all files that belong to a given task object
function: def copy_to_cache(self, sig, files_from, files_to):
  		"""
  		Copy files to the cache, existing files are overwritten,
  		and the copy is atomic only for a given file, not for all files
  		that belong to a given task object
  		"""
  		try:
  			for i, x in enumerate(files_from):
  				dest = os.path.join(CACHE_DIR, sig[:2], sig, str(i))
  				atomic_copy(x, dest)
  		except Exception:
  			return traceback.format_exc()
  		else:
  			# attempt trimming if caching was successful:
  			# we may have things to trim!
  			try:
  				lru_evict()
  			except Exception:
  				return traceback.format_exc()
  		return OK
function_tokens: def copy_to_cache ( self , sig , files_from , files_to ) : try : for i , x in enumerate ( files_from ) : dest = os . path . join ( CACHE_DIR , sig [ : 2 ] , sig , str ( i ) ) atomic_copy ( x , dest ) except Exception : return traceback . format_exc ( ) else : # attempt trimming if caching was successful: # we may have things to trim! try : lru_evict ( ) except Exception : return traceback . format_exc ( ) return OK