misoomang 最近的时间轴更新
misoomang

misoomang

V2EX 第 646106 号会员,加入于 2023-08-30 10:54:09 +08:00
今日活跃度排名 6047
misoomang 最近回复了
16 小时 42 分钟前
回复了 xianmofeng3 创建的主题 Python 各位大佬, 推荐一个 fastapi 用户权限库
casbin 是否可以参考下,主要是整理 rbac 模型数据,剩下的可以通过 middleware 的方式进行权限管控
77 天前
回复了 misoomang 创建的主题 MySQL 求助 MySQL 5.7 默认隔离级别下死锁问题
感谢回复。通过手动执行上述场景的锁持有状况来看,确实是这样的

time1 时刻,由于 id=22 在表中是没有的,此刻事务 A 会在 (15, 25) 加上间隙锁
time2 时刻,由于 id=21 在表中也是没有的,且间隙锁之间不是互斥的,所以此刻事务 B 会在 ( 15, 25 )加上间隙锁

time3 时刻的 insert 语句因为事务 B 间隙锁的存在所以需要等待事务 B 间隙锁释放;
time4 时刻的 insert 语句因为事务 A 间隙锁的存在所以需要等待事务 A 间隙锁释放;

从而出现死锁的情况
152 天前
回复了 guoguobaba 创建的主题 Python django migration 的问题
首先 python3 manage.py makemigrations 是会基于 django_migration 表和当前的 model.py 进行的差异对比生成 migrations 文件,执行 migrate 后是根据新增的 migrations 文件执行表结构变更后在 django_migrations 插入对应 migrations 文件对应的 app 信息和时间戳版本信息

所以需要对比 django_migrations 表各 app 执行模块对应最新版本信息、migrations 文件信息、以及对应表结构综合对比
第一次发帖还没写好不小心点了发送,麻了
188 天前
回复了 stonesirsir 创建的主题 Python Python |图中这样的数据怎么高效存取
https://docs.celeryq.dev/en/stable/userguide/canvas.html#chords

菜鸟一枚,方案不夕勿喷,个人觉得可以采用 celery chord 的方式进行处理,它会等待所有的子任务处理完毕以后触发回调的方法

子任务可以做字段选择和字段去重工作,大致思路是这样
result1 = chord(处理数据源 1 ,处理数据源 2)(记录连接 1 方法)
result2 = chord(处理数据源 3 ,处理数据源 4)(记录连接 2 方法)
reslut3 = chord(result1, result2)
集群里每新增一个 Service 在每个宿主机的 iptables 都会增加一条 iptables 规则,而每条 iptables 规则都有与 Pod 对应的集合

所以 Service 多了 iptables 会变多,Pod 多了对应的规则维护与 Pod 对应关系的集合也会多

故都有关系
似乎使用 celery 的 chord 方法场景更合适,可以并发处理任务的结果,当所有结果准备好以后进行回调做顺序的编排

https://docs.celeryq.dev/en/stable/userguide/canvas.html#chords
252 天前
回复了 lzjunika 创建的主题 Python celery 为何部署到服务器上变成同步阻塞了
作为菜鸡提出的验证想法:可以写一个 @worker_process_init.connect() 写个方法打印日志,确定是否有多个 worker

猜想:在服务器上从上面看上传 test_8.png 任务是执行了 0.08s ,间隔接收 test_9.png 有 2s 的时间间隔,是否会是 io 的影响导致接收图片过慢,导致第一个任务再 worker1 执行,第二个任务也在 worker1 中执行
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4602 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 19ms · UTC 05:30 · PVG 13:30 · LAX 22:30 · JFK 01:30
Developed with CodeLauncher
♥ Do have faith in what you're doing.