请教下webman中可以使用sleep吗,不能的话有别的办法吗
几十万数据导出导致数据库占用100%影响其他业务,想在导出的过程中sleep下,给数据库一些缓冲。
null
什么场景下需要用到sleep; 先描述一下场景吧
大佬,是这样的,几十万数据导出导致数据库占用100%影响其他业务,想在导出的过程中sleep下,给数据库一些缓冲。 嘿嘿嘿,有啥办法嘞
单独开个worker去导出就行了,如果你觉得快也可以usleep()一下,但是不能在处理http请求worker写sleep()
sleep会挂起进程,如果是单独的进程无所谓挂起了就挂起了;不想挂起进程也可以用定时器导出,也能达到sleep的效果
请教下,如果是开4个进程,使用了sleep会导致4个都挂起吗,还是只会导致运行了sleep的那一个挂起呀?
如果你写onWorkerStart 里面都会sleep,你可以通过workerId区分即可,具体看Workerman 手册。 会不会sleep()你自己试一试就知道了。
进程之间是隔离的,a进程的sleep只影响a
什么场景下需要用到sleep;
先描述一下场景吧
大佬,是这样的,几十万数据导出导致数据库占用100%影响其他业务,想在导出的过程中sleep下,给数据库一些缓冲。
嘿嘿嘿,有啥办法嘞
单独开个worker去导出就行了,如果你觉得快也可以usleep()一下,但是不能在处理http请求worker写sleep()
sleep会挂起进程,如果是单独的进程无所谓挂起了就挂起了;不想挂起进程也可以用定时器导出,也能达到sleep的效果
请教下,如果是开4个进程,使用了sleep会导致4个都挂起吗,还是只会导致运行了sleep的那一个挂起呀?
如果你写onWorkerStart 里面都会sleep,你可以通过workerId区分即可,具体看Workerman 手册。
会不会sleep()你自己试一试就知道了。
进程之间是隔离的,a进程的sleep只影响a