當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript node-workhorse.Workhorse類代碼示例

本文整理匯總了TypeScript中node-workhorse.Workhorse的典型用法代碼示例。如果您正苦於以下問題:TypeScript Workhorse類的具體用法?TypeScript Workhorse怎麽用?TypeScript Workhorse使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Workhorse類的4個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: describe

  describe('#run', () => {
    let subject: Workhorse;
    before(function() {
      let config = getConfig();
      subject = new Workhorse(new Config({
        stateManager: stateManager
      }));
    });

    it('should add two numbers', function() {
      this.timeout(20000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2 })
        .then((work: Work) => {
          assert.isNotNull(work.result);
          assert.equal(work.result.result, 3);
          assert.isOk(work.created);
        });
    });

    it('should recurse a few times', function() {
      this.timeout(95000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2, recurse: 3 })
        .then((work: Work) => {
          return subject.state.load(work.id)
            .then((work) => {
              return work.deep(subject);
            });
        })
        .then((deep) => {
          assert.isNotNull(deep.result);
          assert.equal(deep.finalizerResult.result, 9);
          assert.equal(deep.ancestorLevel, 0);
          assert.equal(deep.children[0].ancestorLevel, 1);
          assert.equal(deep.children[0].children[0].ancestorLevel, 2);
          assert.equal(deep.children[0].children[0].children[0].ancestorLevel, 3);
          assert.isTrue(deep.finalizerResult.ended >= deep.children[0].children[0].children[0].result.ended);
        });
    });

    it('should spawn child work test', function() {
      this.timeout(60000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2, twice: true })
      .then((work: Work) => {
        return subject.state.load(work.id);
      })
      .then((work: Work) => {
        assert.isNotNull(work.result);
        assert.equal(work.result.result, 3);
        assert.lengthOf(work.childrenIDs, 1);
        assert.lengthOf(work.finishedChildrenIDs, 1);
        assert.isNotNull(work.finalizerResult);
        assert.equal(work.finalizerResult.result, 3);
      });
    });
  });
開發者ID:colinmathews,項目名稱:node-workhorse-mysql,代碼行數:55,代碼來源:mysql-state-spec.ts

示例2: describe

describe('DynamoDB', () => {
  let subject : Workhorse;
  let baseWorkPath = 'working://dist/test/test-work/';

  function getAWSConfig() {
    let jsonPath = path.resolve(__dirname, '../../aws-config.json');
    if (!fs.existsSync(jsonPath)) {
      throw new Error("Please create a 'aws-config.json' file in the root directory of this project to test with AWS resources")
    }

    let rawConfig = JSON.parse(fs.readFileSync(jsonPath));
    return new AWSConfig(rawConfig);
  }

  before(function () {
    let awsConfig = getAWSConfig();
    subject = new Workhorse(new Config({
      stateManager: new DynamoDBStateManager(awsConfig)
    }));
  });

  describe('#run', () => {
    it('should add two numbers', function(){
      this.timeout(20000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2 })
      .then((work: Work) => {
        assert.isNotNull(work.result);
        assert.equal(work.result.result, 3);
      });
    });

    it('should recurse a few times', function() {
      this.timeout(95000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2, recurse: 3 })
      .then((work: Work) => {
        return subject.state.load(work.id)
        .then((work) => {
          return work.deep(subject);
         });
      })
      .then((deep) => {
        assert.isNotNull(deep.result);
        assert.equal(deep.finalizerResult.result, 9);
        assert.equal(deep.ancestorLevel, 0);
        assert.equal(deep.children[0].ancestorLevel, 1);
        assert.equal(deep.children[0].children[0].ancestorLevel, 2);
        assert.equal(deep.children[0].children[0].children[0].ancestorLevel, 3);
        assert.isTrue(deep.finalizerResult.ended >= deep.children[0].children[0].children[0].result.ended);
      });
    });

    it('should spawn child work test', function(){
      this.timeout(60000);
      return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2, twice: true })
      .then((work: Work) => {
        return subject.state.load(work.id);
      })
      .then((work: Work) => {
        assert.isNotNull(work.result);
        assert.equal(work.result.result, 3);
        assert.lengthOf(work.childrenIDs, 1);
        assert.lengthOf(work.finishedChildrenIDs, 1);
      });
    });
  });
});
開發者ID:colinmathews,項目名稱:node-workhorse-aws,代碼行數:66,代碼來源:dynamodb-spec.ts

示例3:

 .then((work: Work) => {
   if (parsed.runFinalizer) {
     return this.workhorse.runFinalizer(work);
   }
   else {
     return this.workhorse.run(work);
   }
 })
開發者ID:colinmathews,項目名稱:node-workhorse-aws,代碼行數:8,代碼來源:lambda-router.ts

示例4: it

 it('should add two numbers', function(){
   this.timeout(20000);
   return subject.run(`${baseWorkPath}calculator`, { x: 1, y: 2 })
   .then((work: Work) => {
     assert.isNotNull(work.result);
     assert.equal(work.result.result, 3);
   });
 });
開發者ID:colinmathews,項目名稱:node-workhorse-aws,代碼行數:8,代碼來源:dynamodb-spec.ts


注:本文中的node-workhorse.Workhorse類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。