Tue 27 Aug 00:14:56 CEST 2024
This commit is contained in:
		
							parent
							
								
									ab47875a44
								
							
						
					
					
						commit
						8fe175dd91
					
				
							
								
								
									
										72
									
								
								test/test-cluster.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										72
									
								
								test/test-cluster.js
									
									
									
									
									
										Normal file
									
								
							| 
						 | 
					@ -0,0 +1,72 @@
 | 
				
			||||||
 | 
					// jamsh test-cluster.js
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var workers = cluster({
 | 
				
			||||||
 | 
					  connect:true,
 | 
				
			||||||
 | 
					  rows:2,
 | 
				
			||||||
 | 
					  cols:2,
 | 
				
			||||||
 | 
					  port0:11001,
 | 
				
			||||||
 | 
					  port1:10001,
 | 
				
			||||||
 | 
					  portn:100,
 | 
				
			||||||
 | 
					  proto:['http','udp'],
 | 
				
			||||||
 | 
					  poll:2000,
 | 
				
			||||||
 | 
					  todo:'start()',
 | 
				
			||||||
 | 
					  verbose:1,
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					workers.start()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var loop=0;
 | 
				
			||||||
 | 
					later(2000,function () {
 | 
				
			||||||
 | 
					  // if (loop==3) workers.restart();
 | 
				
			||||||
 | 
					  // if (loop==6) workers.stop();
 | 
				
			||||||
 | 
					  print (workers.report());
 | 
				
			||||||
 | 
					  loop++;
 | 
				
			||||||
 | 
					  return true;
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					var p1=port(DIR.IP('udp://localhost:12000'));
 | 
				
			||||||
 | 
					later(500,function () {
 | 
				
			||||||
 | 
					  connect(DIR.IP('udp://localhost:10002'))
 | 
				
			||||||
 | 
					});
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					function walker(test) {
 | 
				
			||||||
 | 
					  this.next="init";
 | 
				
			||||||
 | 
					  this.goto=null;
 | 
				
			||||||
 | 
					  this.test=test;
 | 
				
			||||||
 | 
					  this.t0=0;
 | 
				
			||||||
 | 
					  this.hops=0;
 | 
				
			||||||
 | 
					  this.dirs=[DIR.EAST,DIR.SOUTH,DIR.WEST,DIR.NORTH];
 | 
				
			||||||
 | 
					  this.act = {
 | 
				
			||||||
 | 
					    init:function () { 
 | 
				
			||||||
 | 
					      this.t0=time();
 | 
				
			||||||
 | 
					      if (!this.test) { log('Starting on '+myNode()); log(myPosition()); }
 | 
				
			||||||
 | 
					      var next=link(DIR.IP('%'))
 | 
				
			||||||
 | 
					      if (next && next.length) this.goto=DIR.NODE(next[0]);
 | 
				
			||||||
 | 
					      if (!this.test) log(next)      
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    move: function () {
 | 
				
			||||||
 | 
					      this.hops++;
 | 
				
			||||||
 | 
					      if (!this.test) log('Going to '+this.goto);
 | 
				
			||||||
 | 
					      moveto(this.goto);
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    sense: function () {
 | 
				
			||||||
 | 
					      var next;
 | 
				
			||||||
 | 
					      if (!this.test) log('I am on '+myNode());
 | 
				
			||||||
 | 
					      next=this.dirs.shift();
 | 
				
			||||||
 | 
					      this.goto=next;
 | 
				
			||||||
 | 
					      if (!this.test) sleep(1000)
 | 
				
			||||||
 | 
					    },
 | 
				
			||||||
 | 
					    end: function () { log('END '+(time()-this.t0)+'ms '+this.hops+' hops'); kill() }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					  this.trans = {
 | 
				
			||||||
 | 
					    init:"move",
 | 
				
			||||||
 | 
					    move:"sense",
 | 
				
			||||||
 | 
					    sense:function () { return this.goto?"move":"end"  }
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					later(3000,function () {
 | 
				
			||||||
 | 
					  create(walker,[true],2);
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					start();
 | 
				
			||||||
		Loading…
	
		Reference in New Issue
	
	Block a user