python - Is threading.local() a safe way to store variables for a single request in Google AppEngine? -
i have google appengine app want set global variable request only. can this?
in request_vars.py
# request_vars.py  global_vars = threading.local() in another.py
# another.py  request_vars import global_vars get_time():     return global_vars.time_start in main.py
# main.py  import request_vars import global_vars  global_vars.time_start = datetime.datetime.now()  time_start = another.get_time() questions: considering multithreading, concurrent requests, building on google appengine, , hundreds (even thousands) of requests per second, value of time_start equal value set in global_vars.time_start in main.py per request? safe use multithreading/threadsafe enabled?
yes, using threading.local excellent method set per-request global. request handled 1 thread, on 1 instance in google cloud. thread local value unique thread.
take account thread can reused future requests, , reset value @ start of request.
Comments
Post a Comment