pathdebug
All checks were successful
deploy / deploy (push) Successful in 58s

This commit is contained in:
Untone 2024-10-23 16:38:34 +03:00
parent a8936c92d3
commit f28d65810d
2 changed files with 24 additions and 5 deletions

View File

@ -3,7 +3,7 @@ use aws_config::BehaviorVersion;
use aws_sdk_s3::{config::Credentials, Client as S3Client};
use redis::{aio::MultiplexedConnection, AsyncCommands, Client as RedisClient};
use std::env;
use log::info;
use log::warn;
use crate::s3_utils::get_s3_filelist;
@ -89,7 +89,7 @@ impl AppState {
/// Кэширует список файлов из Storj S3 в Redis.
pub async fn cache_filelist(&self) {
info!("caching storj filelist...");
warn!("caching AWS filelist...");
let mut redis = self.redis.clone();
// Запрашиваем список файлов из Storj S3
@ -103,7 +103,7 @@ impl AppState {
.expect(&format!("Failed to cache file {} in Redis", filename));
}
info!("cached {} files", filelist.len());
warn!("cached {} files", filelist.len());
}
/// Получает путь из ключа (имени файла) в Redis.

View File

@ -138,8 +138,27 @@ pub async fn proxy_handler(
}
Ok(None) => {
warn!("cannot find stored path for: {}", filekey);
let filepath = format!("unsafe/production/{}", filekey);
// download from aws to storj
let ct_parts = content_type.split("/").collect::<Vec<&str>>();
let filepath = format!("unsafe/production/{}/{}", ct_parts[0], filekey);
match check_file_exists(&state.storj_client, &state.bucket, &filepath).await? {
true => {
warn!("file {} exists in storj", filepath);
}
false => {
warn!("file {} does not exist in storj", filepath);
}
}
match check_file_exists(&state.aws_client, &state.bucket, &filepath).await? {
true => {
warn!("file {} exists in aws", filepath);
}
false => {
warn!("file {} does not exist in aws", filepath);
}
}
match load_file_from_s3(&state.aws_client, &state.bucket, &filepath).await {
Ok(filedata) => {
thumbdata_save(filedata.clone(), &state, &filekey, content_type.to_string())