Skip to content

Instantly share code, notes, and snippets.

@inesp
Last active October 18, 2019 18:45
Show Gist options
  • Save inesp/d269d2d4e6f13d225bd993c26ac4fd76 to your computer and use it in GitHub Desktop.
Save inesp/d269d2d4e6f13d225bd993c26ac4fd76 to your computer and use it in GitHub Desktop.
from datetime import datetime
def calculate_users_favorite_color(user, use_cache=True):
now = datetime.now()
color, valid_until = None, None
if use_cache:
color, valid_until = cache.get(f"user_color_{user.id}")
if not use_cache or (valid_until is not None and valid_until > now):
...logic...logic...
color=....
...logic...logic...
if use_cache:
valid_until = now + datetime.timedelta(days=3, hours=12)
cache.set(f"user_color_{user.id}", (color, valid_until))
return color
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment