• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

TypeScript etcd3.Etcd3类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了TypeScript中etcd3.Etcd3的典型用法代码示例。如果您正苦于以下问题:TypeScript Etcd3类的具体用法?TypeScript Etcd3怎么用?TypeScript Etcd3使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



在下文中一共展示了Etcd3类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的TypeScript代码示例。

示例1: before

 before(async () => {
     etcd = new Etcd3({ hosts: config.get<string[]>('etcd3.hosts') });
     nsp = etcd.namespace(`${config.get<string>('etcd3.namespace')}/locks/`);
     watcher = await nsp
         .watch()
         .key('connection')
         .create();
 });
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:8,代码来源:locking.test.ts


示例2: describe

describe('sharding', () => {
    let sharding: Sharding;
    let etcd: Etcd3;
    let nsp: Namespace;
    let lease: Lease;
    let grant: string;
    let doConnect: SinonSpy;

    before(() => {
        etcd = new Etcd3({ hosts: config.get<string[]>('etcd3.hosts') });
        nsp = etcd.namespace(`${config.get<string>('etcd3.namespace')}/shards/`);
    });

    beforeEach(async () => {
        doConnect = spy();
        lease = etcd.lease(5);
        grant = await lease.grant();
        sharding = new Sharding(etcd, doConnect);
    });

    afterEach(async () => {
        etcd.unmock();
        sharding.stop();
        await lease.revoke();
    });

    it('assigns shard id', async () => {
        await sharding.start();
        expect(doConnect).to.have.been.calledOnce.and.calledWith(0, 1);
    });

    it('updates total when new server available', async () => {
        await sharding.start();
        await nsp
            .put('1')
            .lease(grant)
            .exec();
        await sharding.syncShards();
        expect(doConnect).to.have.been.calledTwice.and.calledWith(0, 2);
    });

    it('does not reconnect with no changes', async () => {
        await sharding.start();
        await sharding.syncShards();
        expect(doConnect).to.have.been.calledOnce.and.calledWith(0, 1);
    });

    it('retries if unsuccessfully claimed shard', async () => {
        await nsp
            .put('0')
            .lease(grant)
            .exec();
        etcd.mock({
            exec(service, method, value) {
                etcd.unmock();
                return Promise.resolve({ kvs: [] });
            },
        });
        await sharding.createLease();
        expect(doConnect).to.have.been.calledOnce.and.calledWith(1, 2);
        nsp.delete().key('1');
    });

    it('releases old shard when switching', async () => {
        await nsp
            .put('0')
            .lease(grant)
            .exec();
        await sharding.start();
        await nsp
            .delete()
            .key('0')
            .exec();
        await sharding.syncShards();
        expect(doConnect).to.have.been.calledWith(0, 1);
        expect(await nsp.get('1')).to.equal(null);
    });
});
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:78,代码来源:sharding.test.ts


示例3: before

 before(() => {
     etcd = new Etcd3({ hosts: config.get<string[]>('etcd3.hosts') });
     nsp = etcd.namespace(`${config.get<string>('etcd3.namespace')}/shards/`);
 });
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:4,代码来源:sharding.test.ts


示例4: it

 it('retries if unsuccessfully claimed shard', async () => {
     await nsp
         .put('0')
         .lease(grant)
         .exec();
     etcd.mock({
         exec(service, method, value) {
             etcd.unmock();
             return Promise.resolve({ kvs: [] });
         },
     });
     await sharding.createLease();
     expect(doConnect).to.have.been.calledOnce.and.calledWith(1, 2);
     nsp.delete().key('1');
 });
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:15,代码来源:sharding.test.ts


示例5: afterEach

 afterEach(async () => {
     etcd.unmock();
     sharding.stop();
     await lease.revoke();
 });
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:5,代码来源:sharding.test.ts


示例6: beforeEach

 beforeEach(async () => {
     doConnect = spy();
     lease = etcd.lease(5);
     grant = await lease.grant();
     sharding = new Sharding(etcd, doConnect);
 });
开发者ID:WatchBeam,项目名称:discord-sync,代码行数:6,代码来源:sharding.test.ts



注:本文中的etcd3.Etcd3类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript etcd3.Namespace类代码示例发布时间:2022-05-25
下一篇:
TypeScript eta-lib.term类代码示例发布时间:2022-05-25
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap