All Downloads are FREE. Search and download functionalities are using the official Maven repository.

tech.powerjob.server.solon.extension.dfs.DFsService Maven / Gradle / Ivy

The newest version!
package tech.powerjob.server.solon.extension.dfs;

import java.io.IOException;
import java.util.Optional;

/**
 * 分布式文件服务
 *
 * @author tjq
 * @since 2023/7/16
 */
public interface DFsService {

    /**
     * 存储文件
     * @param storeRequest 存储请求
     * @throws IOException 异常
     */
    void store(StoreRequest storeRequest) throws IOException;

    /**
     * 下载文件
     * @param downloadRequest 文件下载请求
     * @throws IOException 异常
     */
    void download(DownloadRequest downloadRequest) throws IOException;

    /**
     * 获取文件元信息
     * @param fileLocation 文件位置
     * @return 存在则返回文件元信息
     * @throws IOException 异常
     */
    Optional fetchFileMeta(FileLocation fileLocation) throws IOException;

    /**
     * 清理 powerjob 认为“过期”的文件
     * 部分存储系统自带生命周期管理(如阿里云OSS,则不需要单独实现该方法)
     * @param bucket bucket
     * @param days 天数,需要清理超过 X 天的文件
     */
    default void cleanExpiredFiles(String bucket, int days) {
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy