def __inner_remove_order(Order, User): Order2Remove = OrdersMem.objects.get(user=User.id, id=int(Order), status="processing") if not Order2Remove.verify(str(User.id)) : return False Market = TradePairs.objects.get(id=Order2Remove.trade_pair) Order2Remove.status = "canceled" Order2Remove.save() Title = Market.url_title LOCK = "trades" + Title TradeLock = my_lock(LOCK) try: Account = get_account(user=User, currency_id=Order2Remove.currency1) add_trans2(Account, Order2Remove.sum1, Order2Remove.currency1, Order2Remove, "order_cancel") cache = caching() cache.delete_many(["buy_list_" + Title, "sell_list_" + Title, "balance_" + str(User.id), 'client_orders_' + str(User.id) + "_" + Title]) my_release(TradeLock) return True except: my_release(TradeLock) return False
def __init__(self, *args, **kwargs): logging.debug("setup memcache") self.keyprefix = kwargs.get("keyprefix", "django.contrib.sessions.cache") self.storage = caching() self.is_local = False self.key_function = kwargs.get( "key_function", lambda key: MemCacheStore.key_function(key, self.keyprefix, 0))
def reload_cache(Res, Type): cache = caching() DeleteKeys = [] for i in Res["users_bothered"]: CachedKey1 = 'client_orders_' + str(i) + "_" + Type CachedKey2 = 'balance_' + str(i) DeleteKeys.append(CachedKey1) DeleteKeys.append(CachedKey2) # deal_list_btc_uah DeleteKeys.append("deal_list_" + Type) DeleteKeys.append("sell_list_" + Type) DeleteKeys.append("buy_list_" + Type) logging.debug("delete this keys %s " % str(DeleteKeys)) cache.delete_many(DeleteKeys)
def cache_control(Req): do = Req.REQUEST.get("do", None) cache = caching() if do == "flush": return json_false500(Req) if do == "get": key = Req.REQUEST.get("key") return HttpResponse(str(cache.get(key,""))) if do == "del": key = Req.REQUEST.get("key") value = str(cache.get(key,"")) cache.delete(key) return HttpResponse(value) return json_false500(Req)
def auth(Req): Nonce = Req.REQUEST.get("nonce", None) if Nonce is None: return json_false500(Req) Sign = Req.META.get('HTTP_API_SIGN', None) if Sign is None: return json_false500(Req, {"description": "invalid_params", "key": "api_sign"}) PublicKey = Req.META.get('HTTP_PUBLIC_KEY', None) if PublicKey is None: return json_false500(Req, {"description": "invalid_params", "key": "public_key"}) try: Req.user = check_api_sign(PublicKey, Sign, Req.body) Cache = caching() Cache.set("nonce_" + PublicKey, int(Nonce), 50000) Nonce = Cache.get("nonce_" + PublicKey) return json_true(Req, {"nonce": Nonce, "public_key": PublicKey}) except: return json_false500(Req, {"description": "auth_faild"})