Skip to content

Commit 4a56922

Browse files
committed
fix: 修复有时候调用 /download 接口 500 的问题;面板的显示存储时间不正常的问题
1 parent 51556c0 commit 4a56922

File tree

4 files changed

+23
-10
lines changed

4 files changed

+23
-10
lines changed

assets/js/index.js

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1224,9 +1224,18 @@ async function load() {
12241224
)
12251225
} else {
12261226
var server_time = $dashboard_locals.info_runtime
1227+
var latest_time = (() => {
1228+
const data = value;
1229+
const keys = Object.keys(data);
1230+
const res = [];
1231+
for (let i = 0; i < keys.length; i++) {
1232+
res.push(+new Date(keys[i] + "T00:00:00.000Z"));
1233+
}
1234+
return Math.max(...res);
1235+
})();
12271236
// object.current_time - object.start_time - object.diff / 1000.0 + (+new Date() - object.resp_timestamp) / 1000.0;
1228-
var time = server_time.start_time - server_time.diff / 1000.0 + (+new Date() - server_time.resp_timestamp) / 1000.0;
1229-
const previous = (time - (time % (24 * 3600)) - 86400 * 30);
1237+
var time = server_time.current_time - server_time.diff / 1000.0 + (+new Date() - server_time.resp_timestamp) / 1000.0;
1238+
const previous = (time + (time % (24 * 3600)) - 86400 * 30);
12301239
const res = {}
12311240
for (let i = 0; i < 30; i++) {
12321241
var d = Tools.formatDate(new Date((previous + i * 86400) * 1000.0))

core/cluster.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,15 +180,15 @@ async def get_file(self, hash: str, use_master: bool = False):
180180
if await self.available() and not use_master:
181181
storage = self.get_width_storage()
182182
if isinstance(storage, storages.LocalStorage) and await storage.exists(hash):
183-
return LocalStorageFile(
183+
file = LocalStorageFile(
184184
hash,
185185
await storage.get_size(hash),
186186
await storage.get_mtime(hash),
187187
storage,
188188
Path(storage.get_path(hash))
189189
)
190190
elif isinstance(storage, storages.AlistStorage):
191-
return URLStorageFile(
191+
file = URLStorageFile(
192192
hash,
193193
await storage.get_size(hash),
194194
await storage.get_mtime(hash),
@@ -200,20 +200,24 @@ async def get_file(self, hash: str, use_master: bool = False):
200200
hash
201201
)
202202
if storage_file.data_size() == 0 and storage_file.url:
203-
return URLStorageFile(
203+
file = URLStorageFile(
204204
hash,
205205
await storage.get_size(hash),
206206
await storage.get_mtime(hash),
207207
storage,
208208
storage_file.url
209209
)
210210
if storage_file.data_size() > 0:
211-
return MemoryStorageFile(
211+
file = MemoryStorageFile(
212212
hash,
213213
await storage.get_size(hash),
214214
await storage.get_mtime(hash),
215215
storage_file.data.getvalue()
216216
)
217+
if isinstance(file, URLStorageFile) and not file.url:
218+
file = None
219+
if file is not None:
220+
return file
217221
async with aiohttp.ClientSession(
218222
config.const.base_url,
219223
) as session:

core/config.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ def rank_clusters_url(self):
170170

171171
const = Const()
172172

173-
VERSION = "3.3.6"
173+
VERSION = "3.3.7"
174174
API_VERSION = "1.13.1"
175175
USER_AGENT = f"openbmclapi/{API_VERSION} python-openbmclapi/{VERSION}"
176176
PYTHON_VERSION = ".".join(map(str, (sys.version_info.major, sys.version_info.minor, sys.version_info.micro)))

core/web.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -178,8 +178,8 @@ async def init():
178178

179179
scheduler.run_repeat_later(
180180
check_server,
181-
60,
182-
10
181+
5,
182+
5
183183
)
184184

185185
async def forward_data(reader: asyncio.StreamReader, writer: asyncio.StreamWriter):
@@ -409,7 +409,7 @@ async def _check_server(
409409
)
410410
w.close()
411411
try:
412-
await asyncio.wait_for(w.wait_closed(), timeout=10)
412+
await asyncio.wait_for(w.wait_closed(), timeout=2)
413413
except:
414414
...
415415
return True

0 commit comments

Comments
 (0)