关于windows下启动多个Worker的问题

wqb55

如题:https://www.workerman.net/doc/workerman/faq/multi-woker-for-windows.html
如果windows下用bat文件启动了多个worker,他们不同进程都有数据库操作。这时的数据库操作就不能保证顺序了吧?官方有什么备用的方案是我没浏览到的吗?

625 1 0
1个回答

walkor 打赏

什么样的业务需要保证每个进程顺序操作数据库?

  • wqb55 2023-12-31

    我没表达清楚,意思是不同进程同时操作数据库,会不会出现这种请款:数据库里原本的数值1,A进程读出来+1后得2准备写进去,但被B进程先写进了100,后A进程再写进2的时候,就吧B进程的100给覆盖了,没加锁的的情况下 会不会出现这种错乱呢?

  • wqb55 2023-12-31

    还有,体验了一下wokerman5.0 beta版的协程http客户端,windows下使用酸爽啊,因为历史原因公司项目没有部署在linux上,windows下只能使用http协程客户端了,期待5.0出正式版阿,大概什么时候能出?

  • walkor 2024-01-01

    会不会出现这种情况:数据库里原本的数值1,A进程读出来+1后得2准备写进去,但被B进程先写进了100,后A进程再写进2的时候,就吧B进程的100给覆盖了,没加锁的的情况下 会不会出现这种错乱呢?

    任何语言任何框架都有可能出现这种问题,需要业务自己想办法规避。
    例如用一个SQL完成原子操作,SQL类似 update user set money = money + 1 where id=1;
    或者只在数值正确时更新,SQL类似 update user set money = 2 where id=1 and money=1;
    还有很多其他方案,具体可以问AI

    总之你不要指望哪个框架神不知鬼不觉的给你自动解决这种问题,都需要业务介入的

  • tanhongbin 2024-01-02

    吃鱼还想着舔熊掌?

×
🔝