Main Content

copyFileToStore

Copy files from local file system to FileStore object

Description

example

copyFileToStore(store,fileSet,keySet) copies files from the local file system fileSet to store using the corresponding keys keySet. If the keys already exist in store, then copyFileToStore replaces the files associated with the specified keys.

Examples

collapse all

Run a simulation on a parallel pool of process workers and retrieve the file storage on a client. The file storage is a FileStore object with key-file entries. Copy files to this object as specified by its corresponding keys using the copyFileToStore function.

The following simulation finds the average and standard deviation of random matrices and stores the results in the FileStore object using copyFileToStore.

type workerStatsCode
function workerStatsCode(models)
% Get the FileStore of the current job
store = getCurrentFileStore;
for i = 1:numel(models)
    % Compute the average and standard deviation of random matrices
    A = rand(models(i));
    M = mean(A);
    S = std(A);
    % Save simulation results in temporary files
    sourceTempFile = strcat(tempname("C:\myTempFolder"),".mat");
    save(sourceTempFile,"M","S");
    % Copy files to FileStore object as key-file pairs
    key = strcat("result_",num2str(i));
    copyFileToStore(store,sourceTempFile,key);
end
end

Start a parallel pool of process workers.

pool = parpool("Processes");
Starting parallel pool (parpool) using the 'Processes' profile ...
Connected to the parallel pool (number of workers: 6).

Get the FileStore for this pool.

store = pool.FileStore;

Run the simulation on the pool.

models = [4,8,32,20];
future = parfeval(@workerStatsCode,0,models);
wait(future);

Input Arguments

collapse all

File storage shared by MATLAB clients and workers, specified as a FileStore object.

Local files, specified as a character vector, string scalar, string array, or cell array of character vectors or strings. fileSet and keySet must have the same number of elements.

Example: ["/data/run.mat" "/tmp/run_log.txt"]

Keys to add, specified as a character vector, string scalar, string array, or cell array of character vectors or strings. fileSet and keySet must have the same number of elements.

Example: ["myDataKey" "myLogKey"]

Version History

Introduced in R2022a