misoomang 最近的时间轴更新
misoomang

misoomang

V2EX 第 646106 号会员,加入于 2023-08-30 10:54:09 +08:00
misoomang 最近回复了
61 天前
回复了 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 间隙锁释放;

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

所以需要对比 django_migrations 表各 app 执行模块对应最新版本信息、migrations 文件信息、以及对应表结构综合对比
第一次发帖还没写好不小心点了发送,麻了
172 天前
回复了 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
236 天前
回复了 lzjunika 创建的主题 Python celery 为何部署到服务器上变成同步阻塞了
作为菜鸡提出的验证想法:可以写一个 @worker_process_init.connect() 写个方法打印日志,确定是否有多个 worker

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