dsp特殊逻辑

1.carrier数据会有一个group_id

mysql> select * from afrtb_carrier where name like ‘%China mobile%’;
+—–+————–+——-+————+————–+———-+
| id | name | code | country_id | brand | group_id |
+—–+————–+——-+————+————–+———-+
| 255 | China Mobile | 46000 | 45 | China Mobile | 201 |
| 257 | China Mobile | 46002 | 45 | China Mobile | 201 |
| 261 | China Mobile | 46007 | 45 | China Mobile | 201 |

对于以上数据情况,统一个国家下面会有name相同的carrier,因为他们的code不一样,所以这些carrier确实是不同的,这样如果在前端直接显示的话,会出现同一个国家下面有相同name的carrier,所以新增加一个group_id,同一个country下面,name相同的carrier,他们的group_id相同.
在dsp系统中,后端和web的交互完全使用group_id,脚本和rtb的交互则会把group_id转成code

2.给PM做的小工具

这两个工具的代码不再master,在分支liuke_dev上,前端是自己写的,没用到大师他们那些逻辑

前端代码:

这里写图片描述

后端代码:

这里写图片描述

1.上传inventory(http://pre3.papayamobile.com:9082/price.html)
功能如下
这里写图片描述

2.查看campaign的targeting信息(http://pre3.papayamobile.com:9082/monitor_campaign.html)
功能如下:
这里写图片描述

3.同步脚本部分

以下几个是会加到crontab中执行的任务

1. sync() (scripts/sync_data.py)

同步campaign信息,目前是5分钟执行一次
生成campaign同步信息的过程:
1.排除过期的
2.排除没钱的
3.排除超daily budget的
4.placement budget的控制在xuedong那儿控制

check_campaign_expired()        
    # 根据campaign的start_time和end_time信息判断campaign的status是否应该为STATUS_EXPIRED或者STATUS_ACTIVE
real_time_check_account_points()
    # 根据account快照中的points信息,实时先判断account是否有钱
real_time_check_campaign_daily_budget()
    # 根据RTB_CAMPAIGN_DAILY_SPEND_KEY判断是否超daily budget
2. sync_account_points() (scripts/sync_data.py)

每天零点同步account的points信息给xuedong,相当于是account的每天的快照,每天只能执行一次

3. rtb_bid_tansfer_points() (scripts/dsp_transfer_old.py)

目前的扣费逻辑,5分钟执行一次,在咱们这边切换扣费表和扣费逻辑完成后,这个脚本就可以停掉了

4. transfer_points() (scripts/dsp_transfer_new.py)

新的扣费逻辑,上线后可以每两分钟执行一次,因为是逐条扣费,所以如果每两分钟的扣费记录比较多的话,这个脚本的扣费时间就会长

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值