コード例 #1
0
ファイル: sync.py プロジェクト: jererc/mist-py
def process_sync(sync_id):
    sync = Sync.get(sync_id)
    if not sync:
        return
    if Transfer.find_one({'sync_id': sync['_id'], 'finished': None}):
        set_retry(sync)
        return
    src = get_uris(**sync['src'])
    if not src:
        set_retry(sync)
        return
    dst = get_uris(**sync['dst'])
    if not dst:
        set_retry(sync)
        return
    dst = dst[0]

    parameters = {
        'exclusions': sync.get('exclusions'),
        'delete': sync.get('delete'),
        }
    is_mount = (sync['dst'].get('uuid') or sync['src'].get('uuid')) is not None
    transfer_id = Transfer.add(src, dst, sync_id=sync['_id'],
            parameters=parameters, is_mount=is_mount)
    logger.info('added transfer %s to %s', src, dst)

    sync['transfer_id'] = transfer_id
    sync['processed'] = datetime.utcnow()
    sync['reserved'] = datetime.utcnow() + timedelta(hours=sync['recurrence'])
    Sync.save(sync, safe=True)
コード例 #2
0
ファイル: sync.py プロジェクト: jererc/mist-py
def process_sync(sync_id):
    sync = Sync.get(sync_id)
    if not sync:
        return
    if Transfer.find_one({'sync_id': sync['_id'], 'finished': None}):
        set_retry(sync)
        return
    src = get_uris(**sync['src'])
    if not src:
        set_retry(sync)
        return
    dst = get_uris(**sync['dst'])
    if not dst:
        set_retry(sync)
        return
    dst = dst[0]

    parameters = {
        'exclusions': sync.get('exclusions'),
        'delete': sync.get('delete'),
    }
    is_mount = (sync['dst'].get('uuid') or sync['src'].get('uuid')) is not None
    transfer_id = Transfer.add(src,
                               dst,
                               sync_id=sync['_id'],
                               parameters=parameters,
                               is_mount=is_mount)
    logger.info('added transfer %s to %s', src, dst)

    sync['transfer_id'] = transfer_id
    sync['processed'] = datetime.utcnow()
    sync['reserved'] = datetime.utcnow() + timedelta(hours=sync['recurrence'])
    Sync.save(sync, safe=True)
コード例 #3
0
ファイル: sync.py プロジェクト: jererc/mist-py
def set_retry(sync):
    delta = Settings.get_settings('sync')['sync_retry_delta']
    sync['reserved'] = datetime.utcnow() + timedelta(minutes=delta)
    Sync.save(sync, safe=True)
コード例 #4
0
ファイル: sync.py プロジェクト: jererc/mist-py
def set_retry(sync):
    delta = Settings.get_settings('sync')['sync_retry_delta']
    sync['reserved'] = datetime.utcnow() + timedelta(minutes=delta)
    Sync.save(sync, safe=True)