コード例 #1
0
ファイル: withConcurrency.js プロジェクト: czei/legion
  return Io.get().chain(function(receiver) {
    const results = [];
    testcase = Io.of().chain(testcase);

    for( let user_number = 0; user_number < concurrency; user_number++ )
      results.push(testcase.run(receiver));

    return Io.resolve(Promise.all(results));
  });
コード例 #2
0
  return Io.get().chain(function(state) {
    const result = testcase.run(state).catch(function(err) {
      console.error(err);
      if( state && state.receive )
        state.receive(metrics.problem(err));
      else {
        // the entire purpose of this function was to report error metrics instead of throwing an error
        // but apparently we don't have the ability to report any metrics at all . . . so . . . just burn everything
        throw err;
      }
    });

    return Io.resolve(result);
  });