Name: js-handler/legacy/testtimeout.js 
1:
function Execution(c,d,e,n,v) {
2:
  var code = this.code = c;
3:
  var data = this.data = d;
4:
  var endpoints = this.endpoints = e;
5:
  var status = this.status=false;
6:
  var state = this.state ="not executed";
7:
 
8:
  
9:
  if (typeof(n) != 'undefined' && typeof(v) != 'undefined')
10:
    var result = this.result = n;
11:
    var value = this.value = v;
12:
 
13:
}
14:
 
15:
function ready(req, res, next){
16:
  console.log("before");
17:
  var code = " for(var i = 0; i < 10;i++){ data.numberA++; }; console.log('result' + output);";
18:
//  var code = "10 + 20;";
19:
//  var code ="donsole.log()";
20:
  var dataelements={'numberA':50,'content':'text'};
21:
  var endpoints;
22:
  var resultname ="output";
23:
  var resultvalue = "5";
24:
  var t = new Execution(code, dataelements, endpoints, resultname,resultvalue);
25:
  console.log("t "+JSON.stringify(t));
26:
  //create web worker
27:
  var worker=new Worker(function(){
28:
    //receive code and variables
29:
 
30:
    onmessage = function (event) {
31:
     var data =event.data.data;
32:
     var code =event.data.code;
33:
     var status = false;
34:
     console.log("status: "+status);
35:
     var result = event.data.result;
36:
     var value = event.data.value;
37:
     try{
38:
       function execution(){
39:
         this.data;
40:
         this.status;
41:
       };
42:
      eval('var ' + result + ' = JSON.parse(value)');
43:
       status = eval(code);
44:
       console.log("executed "+status);
45:
       
46:
       //create execution object
47:
     
48:
       var ex=new execution();
49:
       ex.data=data;
50:
       ex.status=status;
51:
       ex.result=result;
52:
       ex.value=value;
53:
       
54:
       postMessage(ex);
55:
     } catch (e) {
56:
        var ex=new execution();
57:
        ex.error=e;
58:
        postMessage(ex);
59:
       console.log("error "+e);
60:
     }  
61:
    }
62:
  });
63:
   
64:
  //pass code and vars to worker
65:
  worker.postMessage(t);
66:
  
67:
  
68:
  //receiving data from worker after execution
69:
  worker.onmessage = function (event) {
70:
      t.data=event.data.data;
71:
      t.status=event.data.status;
72:
      t.error=event.data.error;
73:
      t.result=event.data.result;
74:
      t.value=event.data.value;
75:
      worker.terminate();
76:
      console.log("worker terminated");
77:
      
78:
  };
79:
  
80:
 
81:
}
82:
 
83:
 
84:
var port = '9292';
85:
var host = '0.0.0.0';
86:
 
87:
var restify = require('restify');
88:
var daemon  = require('daemon');
89:
var opt     = require('optimist');
90:
var url     = require('url');
91:
var fs      = require('fs');
92:
 
93:
var asyncEval = require('async-eval');
94:
var vm=require('vm');
95:
var Worker=require('webworker-threads').Worker;
96:
var server = restify.createServer();
97:
server.use(restify.queryParser());
98:
server.use(restify.bodyParser());
99:
 
100:
server.get('/', getScript);
101:
server.get('/start', ready);
102:
 
103:
 
104:
server.listen(port, host, function() {
105:
  console.log('server list');
106:
});
107:
 
108:
 
109:
function getScript(req, res, next){
110:
  console.log("get get get");
111:
  res.contentType = 'application/json';
112:
  res.send("get");
113:
}