2016-03-29 13 views

risposta

1

Per la prova I unità utilizzano la struttura:

+ my_function/ 
+- __init__.py - empty files 
+- code/ 
    +- __init__.py 
    +- lambda_function.py 
+- unittest/ 
    +- __init__.py 
    +- tests.py - from ..code.lambda_function import * 

Quando esegue unit test con python -m my_function.unittest.tests, in lambda_function.py __name__ == 'my_function.code.lambda_function'.

Durante l'esecuzione in Lambda in esecuzione, __name__ == 'lambda_function'. Tieni presente che otterrai lo stesso valore se utilizzi lo python -m my_function.code.lambda_function, quindi avrai sempre bisogno di un wrapper.

-1

A causa di this bug è possibile sapere se si sta eseguendo all'interno di una funzione Lambda AWS.

import multiprocessing 

def on_lambda(): 
    try: 
     multiprocessing.Pool() 
     on_lambda = False 
    except: 
     on_lambda = True 
    return on_lambda 

L'ho utilizzato per implementare correttamente il reporting della metrica sensibile al contesto. Speriamo che non aggiustino il bug presto!