def resetMaxAttempts()

in Python/ConnectDialer.py [0:0]


def resetMaxAttempts(table, index, maxAttempts, successInterval):

    table = dynamodb.Table(table)

    lastSuccessThreshold = Decimal((datetime.now() - timedelta(minutes=successInterval)).timestamp())
    print(lastSuccessThreshold)

    response = table.query(
        IndexName='Enabled-lastSuccess-index',
        KeyConditionExpression=Key('Enabled').eq('1') & Key('lastSuccess').lt(lastSuccessThreshold),
        FilterExpression=Attr('lastAttempt').lt(lastSuccessThreshold)&Attr('contactAttempts').gte(str(maxAttempts))
    )
    
    for item in response['Items']:
        phnum = item['TelephoneNumber']
        print("phnum: " + phnum)
        
        updateresponse = client.update_item(
            TableName=table.name,
            Key={
                'TelephoneNumber':{
                    'S': phnum
                }
            },
            UpdateExpression="set contactAttempts =:attempts",
            ExpressionAttributeValues={
                ':attempts': {'S': '0'}
            },
        )
    return response