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() == []
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() == []
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() == []
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'
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'