feat:#183
This commit is contained in:
+7
-1
@@ -3,12 +3,13 @@
|
|||||||
# @File : tasks.py
|
# @File : tasks.py
|
||||||
# @Software: PyCharm
|
# @Software: PyCharm
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import os
|
||||||
|
|
||||||
from tortoise.expressions import Q
|
from tortoise.expressions import Q
|
||||||
|
|
||||||
from apps.base.models import FileCodes
|
from apps.base.models import FileCodes
|
||||||
from apps.base.utils import ip_limit
|
from apps.base.utils import ip_limit
|
||||||
from core.settings import settings
|
from core.settings import settings, data_root
|
||||||
from core.storage import FileStorageInterface, storages
|
from core.storage import FileStorageInterface, storages
|
||||||
from core.utils import get_now
|
from core.utils import get_now
|
||||||
|
|
||||||
@@ -17,6 +18,11 @@ async def delete_expire_files():
|
|||||||
file_storage: FileStorageInterface = storages[settings.file_storage]()
|
file_storage: FileStorageInterface = storages[settings.file_storage]()
|
||||||
while True:
|
while True:
|
||||||
try:
|
try:
|
||||||
|
# 遍历 share目录下的所有文件夹,删除空的文件夹,并判断父目录是否为空,如果为空也删除
|
||||||
|
if settings.file_storage == 'local':
|
||||||
|
for root, dirs, files in os.walk(f"{data_root}/share/data"):
|
||||||
|
if not dirs and not files:
|
||||||
|
os.rmdir(root)
|
||||||
await ip_limit['error'].remove_expired_ip()
|
await ip_limit['error'].remove_expired_ip()
|
||||||
await ip_limit['upload'].remove_expired_ip()
|
await ip_limit['upload'].remove_expired_ip()
|
||||||
expire_data = await FileCodes.filter(Q(expired_at__lt=await get_now()) | Q(expired_count=0)).all()
|
expire_data = await FileCodes.filter(Q(expired_at__lt=await get_now()) | Q(expired_count=0)).all()
|
||||||
|
|||||||
Reference in New Issue
Block a user