Esempio n. 1
0
        def get_group_value(group):
            d = self.redis_client.hgetall(
                    redis_keys.get_order_value_key(account_id, campaign_id, group))

            try:
                count = d['count']

                if 'value' in d:
                    if count:
                        return float(d['value']) / float(count)
                    else:
                        return None
                else:
                    return 0
            except KeyError:
                return None
Esempio n. 2
0
import os.path
import random
import sys
import time

sys.path.append(os.path.join(os.path.dirname(__file__), '..'))

from monetate import keys
from monetate.config import database

redis_client = database.Redis().client

ACCOUNT_ID = 52
CAMPAIGN_ID = 12345

order_value_key_control = keys.get_order_value_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_CONTROL)
order_value_key_experiment = keys.get_order_value_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_EXPERIMENT)

redis_client.incrby(order_value_key_control, 142)
redis_client.incrby(order_value_key_experiment, 148)

while True:
    redis_client.incr(keys.get_group_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_CONTROL))
    redis_client.incr(keys.get_total_sales_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_CONTROL))

    if random.randint(0, 1) == 1:
        redis_client.incr(keys.get_group_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_EXPERIMENT))
        redis_client.incr(keys.get_total_sales_key(ACCOUNT_ID, CAMPAIGN_ID, keys.GROUP_EXPERIMENT))

    if random.randint(0, 1) == 1:
        amount = random.randint(-1, 1)
Esempio n. 3
0
 def purchase_total_update(self, account, cid, group, value):
     key = keys.get_order_value_key(account, cid, group)
     redis.hincrby(key, 'value', int(float(value)))
     redis.hincrby(key, 'count', 1)