当前位置: 首页>>代码示例>>Python>>正文


Python service.SyncService类代码示例

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


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

示例1: test_start_new_accounts_when_stealing_enabled

def test_start_new_accounts_when_stealing_enabled(db, default_account):
    default_account.sync_host = None
    db.session.commit()
    ss = SyncService(cpu_id=1, total_cpus=2)
    assert ss.accounts_to_start() == [1]
    db.session.expire_all()
    assert default_account.sync_host == platform.node()
开发者ID:Analect,项目名称:sync-engine,代码行数:7,代码来源:test_sync_start_logic.py

示例2: test_concurrent_syncs

def test_concurrent_syncs(db, default_account, config):
    ss1 = SyncService(cpu_id=1, total_cpus=2)
    ss2 = SyncService(cpu_id=1, total_cpus=2)
    ss2.host = 'other-host'
    # Check that only one SyncService instance claims the account.
    assert ss1.accounts_to_start() == [1]
    assert ss2.accounts_to_start() == []
开发者ID:Analect,项目名称:sync-engine,代码行数:7,代码来源:test_sync_start_logic.py

示例3: patched_sync_service

def patched_sync_service(mock_queue_client, host=host, cpu_id=0):
    s = SyncService(process_identifier='{}:{}'.format(host, cpu_id),
                    cpu_id=cpu_id)
    s.queue_client = mock_queue_client
    s.start_sync = mock.Mock(
        side_effect=lambda aid: s.syncing_accounts.add(aid))
    return s
开发者ID:GordonYip,项目名称:sync-engine,代码行数:7,代码来源:test_sync_start_logic.py

示例4: test_concurrent_syncs

def test_concurrent_syncs(db, default_account, config):
    purge_other_accounts(default_account)
    ss1 = SyncService(cpu_id=default_account.id % 2, total_cpus=2)
    ss2 = SyncService(cpu_id=default_account.id % 2, total_cpus=2)
    ss2.host = "other-host"
    # Check that only one SyncService instance claims the account.
    assert ss1.accounts_to_start() == [default_account.id]
    assert ss2.accounts_to_start() == []
开发者ID:nohobby,项目名称:sync-engine,代码行数:8,代码来源:test_sync_start_logic.py

示例5: test_dont_start_new_accounts_when_stealing_disabled

def test_dont_start_new_accounts_when_stealing_disabled(db, config, default_account):
    purge_other_accounts(default_account)
    default_account.sync_host = None
    db.session.commit()
    config["SYNC_STEAL_ACCOUNTS"] = False
    ss = SyncService(cpu_id=default_account.id % 2, total_cpus=2)
    assert ss.accounts_to_start() == []
    assert default_account.sync_host is None
开发者ID:nohobby,项目名称:sync-engine,代码行数:8,代码来源:test_sync_start_logic.py

示例6: patched_sync_service

def patched_sync_service(db, host=host, process_number=0):
    s = SyncService(process_identifier="{}:{}".format(host, process_number), process_number=process_number)

    def start_sync(aid):
        acc = db.session.query(Account).get(aid)
        acc.sync_host = s.process_identifier
        acc.sync_started()
        s.syncing_accounts.add(aid)
        db.session.commit()
        return True

    s.start_sync = mock.Mock(side_effect=start_sync)
    return s
开发者ID:nylas,项目名称:sync-engine,代码行数:13,代码来源:test_sync_start_logic.py

示例7: test_dont_start_disabled_accounts

def test_dont_start_disabled_accounts(db, config, default_account):
    purge_other_accounts(default_account)
    config['SYNC_STEAL_ACCOUNTS'] = True
    default_account.sync_host = None
    default_account.disable_sync(reason='testing')
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss.accounts_to_start() == []
    assert default_account.sync_host is None
    assert default_account.sync_should_run is False

    default_account.sync_host = platform.node()
    default_account.disable_sync('testing')
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss.accounts_to_start() == []
    assert default_account.sync_should_run is False

    # Invalid Credentials
    default_account.mark_invalid()
    default_account.sync_host = None
    db.session.commit()

    # Don't steal invalid accounts
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss.accounts_to_start() == []

    # Don't explicitly start invalid accounts
    default_account.sync_host = platform.node()
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss.accounts_to_start() == []
开发者ID:richee85,项目名称:sync-engine,代码行数:32,代码来源:test_sync_start_logic.py

示例8: patched_sync_service

def patched_sync_service(db, mock_queue_client, host=host, cpu_id=0):
    s = SyncService(process_identifier='{}:{}'.format(host, cpu_id),
                    cpu_id=cpu_id)
    s.queue_client = mock_queue_client

    def start_sync(aid):
        acc = db.session.query(Account).get(aid)
        acc.sync_host = s.process_identifier
        acc.sync_started()
        s.syncing_accounts.add(aid)
        db.session.commit()

    s.start_sync = mock.Mock(side_effect=start_sync)
    return s
开发者ID:alarmcom,项目名称:sync-engine,代码行数:14,代码来源:test_sync_start_logic.py

示例9: test_sync_transitions

def test_sync_transitions(db, default_account, config):
    purge_other_accounts(default_account)
    ss = SyncService(cpu_id=default_account.id % 2, total_cpus=2)
    default_account.enable_sync()
    db.session.commit()
    assert ss.accounts_to_start() == [default_account.id]

    default_account.disable_sync("manual")
    db.session.commit()
    assert ss.accounts_to_start() == []
    assert default_account.sync_should_run is False
    assert default_account._sync_status["sync_disabled_reason"] == "manual"

    default_account.mark_invalid()
    db.session.commit()
    assert ss.accounts_to_start() == []
    assert default_account.sync_state == "invalid"
    assert default_account._sync_status["sync_disabled_reason"] == "invalid credentials"
    assert default_account.sync_should_run is False
开发者ID:nohobby,项目名称:sync-engine,代码行数:19,代码来源:test_sync_start_logic.py

示例10: test_sync_transitions

def test_sync_transitions(db, default_account, config):
    ss = SyncService(cpu_id=1, total_cpus=2)
    default_account.enable_sync()
    db.session.commit()
    assert ss.accounts_to_start() == [1]

    default_account.disable_sync('manual')
    db.session.commit()
    assert ss.accounts_to_start() == []
    assert default_account.sync_should_run is False
    assert default_account._sync_status['sync_disabled_reason'] == 'manual'

    default_account.mark_invalid()
    db.session.commit()
    assert ss.accounts_to_start() == []
    assert default_account.sync_state == 'invalid'
    assert default_account._sync_status['sync_disabled_reason'] == \
        'invalid credentials'
    assert default_account.sync_should_run is False
开发者ID:Analect,项目名称:sync-engine,代码行数:19,代码来源:test_sync_start_logic.py

示例11: test_stealing_limited_by_host

def test_stealing_limited_by_host(db, config):
    host = platform.node()
    config['DATABASE_HOSTS'][0]['SHARDS'][0]['SYNC_HOSTS'] = [host]
    config['DATABASE_HOSTS'][0]['SHARDS'][1]['SYNC_HOSTS'] = ['otherhost']
    purge_other_accounts()
    ss = SyncService(cpu_id=0, total_cpus=1)
    for key in (0, 1):
        with session_scope_by_shard_id(key) as db_session:
            acc = Account()
            acc.namespace = Namespace()
            db_session.add(acc)
            db_session.commit()

    ss.accounts_to_start()
    with session_scope_by_shard_id(0) as db_session:
        acc = db_session.query(Account).first()
        assert acc.sync_host == host
    with session_scope_by_shard_id(1) as db_session:
        acc = db_session.query(Account).first()
        assert acc.sync_host is None
开发者ID:yodiyo,项目名称:sync-engine,代码行数:20,代码来源:test_sync_start_logic.py

示例12: test_accounts_started_on_all_shards

def test_accounts_started_on_all_shards(db, default_account, config):
    config['SYNC_STEAL_ACCOUNTS'] = True
    purge_other_accounts(default_account)
    default_account.sync_host = None
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    ss.host = 'localhost'
    account_ids = {default_account.id}
    for key in (0, 1):
        with session_scope_by_shard_id(key) as db_session:
            acc = Account()
            acc.namespace = Namespace()
            db_session.add(acc)
            db_session.commit()
            account_ids.add(acc.id)

    assert len(account_ids) == 3
    assert set(ss.accounts_to_start()) == account_ids
    for id_ in account_ids:
        with session_scope(id_) as db_session:
            acc = db_session.query(Account).get(id_)
            assert acc.sync_host == 'localhost'
开发者ID:richee85,项目名称:sync-engine,代码行数:22,代码来源:test_sync_start_logic.py

示例13: test_sync_start

def test_sync_start(db, default_account, config):

    # Make sure having fqdn set locally gets assigned to us
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == [1]

    # Not from other cpus
    ss = SyncService(cpu_id=1, total_cpus=1)
    assert ss._get_local_accounts() == []

    # Different host
    default_account.sync_host = "some-random-host"
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []

    # Explicit
    default_account.sync_host = platform.node()
    db.session.commit()
    assert ss._get_local_accounts() == [1]

    default_account.sync_host = None
    db.session.commit()

    # No host, work stealing enabled
    config['SYNC_STEAL_ACCOUNTS'] = True
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == [1]

    # No host, no work stealing disabled
    config['SYNC_STEAL_ACCOUNTS'] = False
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []

    default_account.sync_state = 'stopped'

    # Stopped
    default_account.sync_host = None
    db.session.commit()

    # Don't steal stopped accounts
    config['SYNC_STEAL_ACCOUNTS'] = True
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []

    # Don't explicitly start stopped accounts
    default_account.sync_host = platform.node()
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []

    # Invalid Credentials
    default_account.sync_state = 'invalid'
    db.session.commit()

    # Don't steal invalid accounts
    config['SYNC_STEAL_ACCOUNTS'] = True
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []

    # Don't explicitly start invalid accounts
    default_account.sync_host = platform.node()
    db.session.commit()
    ss = SyncService(cpu_id=0, total_cpus=1)
    assert ss._get_local_accounts() == []
开发者ID:Dracophoenix1,项目名称:inbox,代码行数:65,代码来源:test_sync_start_logic.py

示例14: test_dont_start_accounts_on_other_host

def test_dont_start_accounts_on_other_host(db, default_account):
    purge_other_accounts(default_account)
    default_account.sync_host = 'other-host'
    db.session.commit()
    ss = SyncService(cpu_id=1, total_cpus=2)
    assert ss.accounts_to_start() == []
开发者ID:richee85,项目名称:sync-engine,代码行数:6,代码来源:test_sync_start_logic.py

示例15: test_dont_start_accounts_for_other_cpus

def test_dont_start_accounts_for_other_cpus(db, default_account):
    purge_other_accounts(default_account)
    default_account.sync_host = platform.node()
    ss = SyncService(cpu_id=default_account.id + 1, total_cpus=2**22)
    assert ss.accounts_to_start() == []
开发者ID:richee85,项目名称:sync-engine,代码行数:5,代码来源:test_sync_start_logic.py


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