def setup_class(cls, *args, **kwargs): """ Put elements in db """ for language in LANGUAGES: Locale.objects.create(**language) for app in ITEMS: item = Item.objects.create(id=app["id"], name=app["name"], external_id=app["external_id"]) for language in app["languages"]: l = Locale.objects.get(country_code=language) ItemLocale.objects.create(locale=l, item=item) for u in USERS: user = User.objects.create(id=u["id"], external_id=u["external_id"]) for i in u["items"]: Inventory.objects.create(user=user, item=Item.get_item_by_external_id(i)) for language in u["languages"]: l = Locale.objects.get(country_code=language) UserLocale.objects.create(locale=l, user=user) Item.load_to_cache() User.load_to_cache() Locale.load_to_cache()
def setup_class(cls, *args, **kwargs): """ Put elements in db """ path = resource_filename(recommendation.__name__, "/") fill.FillTool({"items": True, "--mozilla": True, "prod": True}).load() fill.FillTool({"users": True, "--mozilla": True, "<path>": path+"data/user"}).load() modelcrafter.main("train", "popularity") modelcrafter.main("train", "tensorcofi") # Load user and items Item.load_to_cache() User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() cls.client = Client()
def setup_class(cls, *args, **kwargs): """ Put elements in db """ for region in REGIONS: Region.objects.create(**region) for app in ITEMS: item = Item.objects.create(id=app["id"], name=app["name"], external_id=app["external_id"]) for region in app["regions"]: ItemRegion.objects.create(region=Region.objects.get(slug=region), item=item) for u in USERS: user = User.objects.create(id=u["id"], external_id=u["external_id"]) for i in u["items"]: Inventory.objects.create(user=user, item=Item.get_item_by_external_id(i)) UserRegion.objects.create(region=Region.objects.get(slug=u["region"]), user=user) Item.load_to_cache() User.load_to_cache() Region.load_to_cache()
def setup_class(cls, *args, **kwargs): """ Put elements in db """ for region in REGIONS: Region.objects.create(**region) for app in ITEMS: item = Item.objects.create(id=app["id"], name=app["name"], external_id=app["external_id"]) for region in app["regions"]: ItemRegion.objects.create( region=Region.objects.get(slug=region), item=item) for u in USERS: user = User.objects.create(id=u["id"], external_id=u["external_id"]) for i in u["items"]: Inventory.objects.create(user=user, item=Item.get_item_by_external_id(i)) UserRegion.objects.create( region=Region.objects.get(slug=u["region"]), user=user) Item.load_to_cache() User.load_to_cache() Region.load_to_cache()
Ths is an example of use. the recommendation loads most of trivial info to cache and work with cache directly for performance improvement. """ from django.core.wsgi import get_wsgi_application application = get_wsgi_application() from threading import Thread from django.conf import settings from recommendation.models import Item, User, TensorCoFi, Popularity def load_rest(): User.load_to_cache() # Load main models Popularity.load_to_cache() TensorCoFi.load_to_cache() if "recommendation.language" in settings.INSTALLED_APPS: from recommendation.language.models import Region Region.load_to_cache() if "recommendation.diversity" in settings.INSTALLED_APPS: from recommendation.diversity.models import ItemGenre, Genre Genre.load_to_cache() ItemGenre.load_to_cache() # Load user and items Item.load_to_cache() Thread(target=load_rest).start()