最近用nodejs写多进程的爬虫出了些问题,关于事件触发的
发布于 3 年前 作者 Cherokeeli 2258 次浏览 来自 问答

问题是这样的,Master进程有一个tasklist数组,然后创建worker。他们之间通过socket进行通信, 而相互间接收信息是通过事件绑定的。

当Master创建worker后,worker会跟master通过发一个ready消息, Master收到ready消息后会将tasklist中的标记为0的任务分发给worker,然后某个任务被分配出去了,就标记1。

现在情况是当master收到ready消息触第一次发任务分配,所有的worker收到的都是同样的任务id。想了想应该是事件触发后都访问了同一个变量,而变量还没来得及修改。请问有什么办法解决这个问题么?类似限制访问变量或者固定触发顺序??

1 回复
回到顶部