![]() | 1 wen20 258 天前 有多少 xlsx 要读, 还需要高并发 |
3 neoblackcap 258 天前 不是很懂什么叫高并发读取 xlsx 文件,你一个文件需要很多个人一起读?还是一大批文件需要并行处理? 只是简单的并行处理,直接进程池就可以解决问题了 |
![]() | 4 pureGirl OP @neoblackcap 就是会并发上传 xlsx 文件,然后把内容写入数据库 |
![]() | 5 lxue 258 天前 可以实现,celery 是异步的不会阻塞 Django 的 worker 的 |
6 neoblackcap 258 天前 @pureGirl 并发上传文件,那先上传到对象存储,然后创建异步任务,慢慢处理 |
![]() | 7 pureGirl OP @neoblackcap 现在就直接把文件转换成二进制存到队列里,然后 worker 一个个处理 |
8 neoblackcap 258 天前 @pureGirl 那这个方案现在是有什么问题吗?数据不大的话,处理得快也不是不行 |
![]() | 9 alphaControler 258 天前 via Android 并发要解决的是数据竞争问题,你这只是读的话,多少并发都没问题。如果是有写,那就看具体情况,要么按时间片分文件,要么读写锁。 |
![]() | 10 pureGirl OP @neoblackcap 之后可能会有数据比较大的情况 |
![]() | 12 8355 258 天前 不是我说,高并发有 qps50 没。。。。 |
![]() | 13 thoo61871 258 天前 异步 随便你怎么实现都行 |
14 neoblackcap 258 天前 @pureGirl 那就改成先上传到对象存储,然后你处理的时候再从对象存储读回。反正都落盘了,后续都是慢慢处理的问题的。 |
![]() | 15 sazima 258 天前 很耗时吗? Dajngo 部署不是单进程的,不需要 celery |
16 neoblackcap 258 天前 @pureGirl 还有就是对象存储的读取,记得走 VPC/内网,既省钱,又提高性能 |
![]() | 17 pureGirl OP @neoblackcap 我研究一下,谢谢 |
![]() | 18 opengps 258 天前 ![]() 单个文件的操作是独占的,并非高并发的概念。你可能高频,但不是并发 |
![]() | 21 windyboy 257 天前 多个人不可能一起写一个文件 |
22 ponyfk 257 天前 --- 用 django celery 可以实现吗 可以实现。以我的经验,celery 都不需要,就在 view 代码里面处理 |
![]() | 23 ShineyWang 256 天前 via Android 很多数据库应该直接支持 Excel 导入 |
24 512357301 256 天前 via Android 试试 duckdb |