CNode

最近用nodejs写多进程的爬虫出了些问题,关于事件触发的

问答
CCherokeeli发布于9 年前最后回复9 年前1 回复3888 浏览0 收藏

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

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

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

查看回复

回复 (1)

O
o6875461#1·9 年前

使用redis

参与回复
登录后即可参与回复。登录