aliyunpan icon indicating copy to clipboard operation
aliyunpan copied to clipboard

上传文件报错

Open kaifeiji opened this issue 3 years ago • 2 comments

执行命令:

/share/xiaomi_camera_videos/aliyunpan/aliyunpan upload /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908 /xiaomi_camera_videos/20220519

日志:

[0] 当前文件上传最大并发量为: 10, 上传分片大小为: 10.00MB
[1] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/08M29S_165                                                                                        2918909.mp4
[2] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/09M29S_165                                                                                        2918969.mp4
[3] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/10M29S_165                                                                                        2919029.mp4
[4] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/11M29S_165                                                                                        2919089.mp4
[5] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/12M29S_165                                                                                        2919149.mp4
[6] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/13M29S_165                                                                                        2919209.mp4
[7] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/15M29S_165                                                                                        2919329.mp4
[8] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/16M29S_165                                                                                        2919389.mp4
[9] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/17M29S_165                                                                                        2919449.mp4
[10] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/18M29S_16                                                                                        52919509.mp4
[11] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/19M29S_16                                                                                        52919569.mp4
[12] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/20M29S_16                                                                                        52919629.mp4
[13] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/21M29S_16                                                                                        52919689.mp4
[14] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/22M32S_16                                                                                        52919752.mp4
[15] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/23M29S_16                                                                                        52919809.mp4
[16] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/24M29S_16                                                                                        52919869.mp4
[17] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/25M29S_16                                                                                        52919929.mp4
[18] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/26M29S_16                                                                                        52919989.mp4
[19] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/27M29S_16                                                                                        52920049.mp4
[20] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/28M29S_16                                                                                        52920109.mp4
[21] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/29M29S_16                                                                                        52920169.mp4
[22] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/30M29S_16                                                                                        52920229.mp4
[23] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/37M29S_16                                                                                        52920649.mp4
[24] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/38M29S_16                                                                                        52920709.mp4
[25] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/39M29S_16                                                                                        52920769.mp4
[26] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/40M29S_16                                                                                        52920829.mp4
[27] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/41M29S_16                                                                                        52920889.mp4
[28] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/42M29S_16                                                                                        52920949.mp4
[29] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/48M29S_16                                                                                        52921309.mp4
[30] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/49M29S_16                                                                                        52921369.mp4
[31] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/50M29S_16                                                                                        52921429.mp4
[32] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/51M29S_16                                                                                        52921489.mp4
[33] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/52M29S_16                                                                                        52921549.mp4
[34] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/53M29S_16                                                                                        52921609.mp4
[35] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/54M29S_16                                                                                        52921669.mp4
[36] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/56M29S_16                                                                                        52921789.mp4
[37] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/57M29S_16                                                                                        52921849.mp4
[38] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/58M29S_16                                                                                        52921909.mp4
[39] 加入上传队列: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022051908/59M29S_16                                                                                        52921969.mp4
[10] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/2022                                                                                        051908/18M29S_1652919509.mp4 => /xiaomi_camera_videos/20220519/2022051908/18M29S                                                                                        _1652919509.mp4
[5] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/12M29S_1652919149.mp4 => /xiaomi_camera_videos/20220519/2022051908/12M29S_                                                                                        1652919149.mp4
[7] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/15M29S_1652919329.mp4 => /xiaomi_camera_videos/20220519/2022051908/15M29S_                                                                                        1652919329.mp4
[6] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/13M29S_1652919209.mp4 => /xiaomi_camera_videos/20220519/2022051908/13M29S_                                                                                        1652919209.mp4
[6] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[1] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/08M29S_1652918909.mp4 => /xiaomi_camera_videos/20220519/2022051908/08M29S_                                                                                        1652918909.mp4
[1] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[9] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/17M29S_1652919449.mp4 => /xiaomi_camera_videos/20220519/2022051908/17M29S_                                                                                        1652919449.mp4
[9] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[4] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/11M29S_1652919089.mp4 => /xiaomi_camera_videos/20220519/2022051908/11M29S_                                                                                        1652919089.mp4
[4] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[5] 2022-05-29 03:03:22 文件上传结果:  耗时 0秒
[2] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/09M29S_1652918969.mp4 => /xiaomi_camera_videos/20220519/2022051908/09M29S_                                                                                        1652918969.mp4
[2] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[8] 2022-05-29 03:03:22 准备上传: /share/xiaomi_camera_videos/xxxxxxxxxxxxx/20220                                                                                        51908/16M29S_1652919389.mp4 => /xiaomi_camera_videos/20220519/2022051908/16M29S_                                                                                        1652919389.mp4
[8] 2022-05-29 03:03:22 正在检测和创建云盘文件夹: /xiaomi_camera_videos/20220519                                                                                        /2022051908
[7] 2022-05-29 03:03:22 文件上传结果:  耗时 0秒
panic: runtime error: slice bounds out of range [1:0]

goroutine 55 [running]:
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        deleteIndex(...)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:127
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        clearModTimeChange(0x400028c270)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:195 +0x49c
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        Search(0x400028c270, 0x400012c990, 0x40002ecd00)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:156 +0x38
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadTaskUnit).pre                                                                                        pareFile(0x400036b380)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_task_unit.go:107 +0xe8
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadTaskUnit).Run                                                                                        (0x400036b380, 0x4000446000)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_task_unit.go:329 +0x324
github.com/tickstep/aliyunpan/internal/taskframework.(*TaskExecutor).Execute.fun                                                                                        c1(0x40002efec0, 0x4000232570, 0x400000db30)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/taskf                                                                                        ramework/executor.go:111 +0x5c
created by github.com/tickstep/aliyunpan/internal/taskframework.(*TaskExecutor).                                                                                        Execute
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/taskf                                                                                        ramework/executor.go:108 +0x6c
panic: runtime error: slice bounds out of range [1:0]

goroutine 53 [running]:
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        deleteIndex(...)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:127
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        clearModTimeChange(0x400028c270)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:195 +0x49c
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadingDatabase).                                                                                        Search(0x400028c270, 0x400012c870, 0x40002ecb80)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_database.go:156 +0x38
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadTaskUnit).pre                                                                                        pareFile(0x400036b200)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_task_unit.go:107 +0xe8
github.com/tickstep/aliyunpan/internal/functions/panupload.(*UploadTaskUnit).Run                                                                                        (0x400036b200, 0x4000382000)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/funct                                                                                        ions/panupload/upload_task_unit.go:329 +0x324
github.com/tickstep/aliyunpan/internal/taskframework.(*TaskExecutor).Execute.fun                                                                                        c1(0x40002efec0, 0x4000232570, 0x400000db00)
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/taskf                                                                                        ramework/executor.go:111 +0x5c
created by github.com/tickstep/aliyunpan/internal/taskframework.(*TaskExecutor).                                                                                        Execute
        /Users/tickstep/Documents/Workspace/go/projects/aliyunpan/internal/taskf                                                                                        ramework/executor.go:108 +0x6c

kaifeiji avatar May 28 '22 19:05 kaifeiji

设置max_upload_parallel为15,cache_size为256KB后,不再报错。

kaifeiji avatar May 28 '22 19:05 kaifeiji

另外,上传文件夹,有一定的概率某些文件会失败(网络原因、API限制等),是否考虑添加重试机制? 毕竟大部分使用场景是定时脚本,没有人工干预。 当然我可以在脚本里解析失败文件,执行重试,但原生增加支持会更好。

kaifeiji avatar May 28 '22 20:05 kaifeiji