Skip to content

Instantly share code, notes, and snippets.

@hello-josh
Created March 10, 2016 14:27
Show Gist options
  • Save hello-josh/15016e3cae738f72fd73 to your computer and use it in GitHub Desktop.
Save hello-josh/15016e3cae738f72fd73 to your computer and use it in GitHub Desktop.
Deferred task using Flask's request context
@login_manager.user_loader
def load_user(user_id):
user = models.User.get_by_id(user_id)
if user and not user.timezone:
lat_long = request.headers.get('X-Appengine-Citylatlong', None)
deferred.defer(set_user_timezone, user_id, lat_long)
return user
def set_user_timezone(user_id, lat_long):
with app.app_context():
user = models.User.get_by_id(user_id)
if user and not user.timezone:
user.timezone = appengine_utils.user_timezone_from_latlong(lat_long).zone
user.put()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment