添加临时文件清理命令行
parent
267465d800
commit
865881b6a9
|
@ -0,0 +1,50 @@
|
|||
<?php
|
||||
declare(strict_types=1);
|
||||
/**
|
||||
* This is my open source code, please do not use it for commercial applications.
|
||||
* For the full copyright and license information,
|
||||
* please view the LICENSE file that was distributed with this source code
|
||||
*
|
||||
* @author Yuandong<837215079@qq.com>
|
||||
* @link https://github.com/gzydong/hyperf-chat
|
||||
*/
|
||||
|
||||
namespace App\Command;
|
||||
|
||||
use App\Service\SplitUploadService;
|
||||
use Hyperf\Command\Annotation\Command;
|
||||
use Hyperf\Command\Command as HyperfCommand;
|
||||
use Psr\Container\ContainerInterface;
|
||||
|
||||
/**
|
||||
* @Command
|
||||
*/
|
||||
class ClearFileCommand extends HyperfCommand
|
||||
{
|
||||
/**
|
||||
* @var ContainerInterface
|
||||
*/
|
||||
protected $container;
|
||||
|
||||
public function __construct(ContainerInterface $container)
|
||||
{
|
||||
$this->container = $container;
|
||||
|
||||
parent::__construct('system:clear-file');
|
||||
}
|
||||
|
||||
public function configure()
|
||||
{
|
||||
parent::configure();
|
||||
$this->setDescription('清除拆分上传的临时文件!');
|
||||
}
|
||||
|
||||
public function handle()
|
||||
{
|
||||
$this->line('文件清理中...');
|
||||
|
||||
di()->get(SplitUploadService::class)->clear();
|
||||
|
||||
$this->info('文件清理完成...');
|
||||
}
|
||||
}
|
|
@ -141,4 +141,21 @@ class SplitUploadService
|
|||
'file_size' => $fileInfo->file_size
|
||||
];
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 清理超过24小时的临时文件
|
||||
*/
|
||||
public function clear()
|
||||
{
|
||||
// 24小时前
|
||||
$time = time() - 60 * 60 * 24 * 1;
|
||||
|
||||
FileSplitUpload::where('file_type', 1)->where('upload_at', '<', $time)->select('hash_name')->chunk(100, function ($rows) {
|
||||
foreach ($rows as $row) {
|
||||
@di()->get(Filesystem::class)->deleteDir("tmp/{$row->hash_name}");
|
||||
@FileSplitUpload::where('hash_name', $row->hash_name)->delete();
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue