ssp-campaigns's People
Forkers
ijharulislamssp-campaigns's Issues
app.py:211-211: implement data syncing
The puzzle 19-497c0e8f
in app.py
(lines 211-211) has to be resolved: "implement data syncing"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 45 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
write tests
setup heroku deployment
implement syncer
takes all subscribers remote mongodb
store them in local mongodb
dsp postback pass to push api
dsp sends us their postback url in bid response
we need to send this postback to push api
app.py:49-49: get random subscribers / filter by...
The puzzle 1-f4f3124c
in app.py
(lines 49-49) has to be resolved: "get random subscribers / filter by targetings / take N rows"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
support filtering by different fields
implement support of targetings by all fields of the subscriber
example of campaign object
{
"id": 1,
"dsp_id": 1,
"total_limit": 100000,
"daily_limit": 1000,
"targetings": [
{
"field": "country",
"operator": "NOT IN",
"value": country_blacklist
},
{
"field": "offer_id",
"operator": "=",
"value": 1234
},
{
"field": "platform",
"operator": "=",
"value": "iOS"
}
]
}
you need to take targetings
array and make a correct query to ES
Estimation: 60 minutes
take and use general settings from ssp cabinet
app.py:113-113: get limit-per-user value from global...
The puzzle 1-54692b88
in app.py
(lines 113-113) has to be resolved: "get limit-per-user value from global settings"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
setup code coverage
setup pylint, flake8
app.py:6-6: use URI from env
The puzzle 12-98ca1e3f
in app.py
(lines 6-6) has to be resolved: "use URI from env"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
app.py:196-196: get total subscriber count in remote...
The puzzle 19-c4cde500
in app.py
(lines 196-196) has to be resolved: "get total subscriber count in remote storage"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
get data from ES
https://github.com/bloogrox/ssp-campaigns/blob/master/app.py#L103
get data, using filters, limits
documents have to be random
on every request we take random documents
for instance, we have 1 million documents,
if we apply filters we'll have 10% of them
after that we take 3 documents and every time they are random
Estimation: 30 minutes
app.py:20-21: rewrite to a wrapper module for...
The puzzle 1-4c42341a
in app.py
(lines 20-21) has to be resolved: "rewrite to a wrapper module for campaign api this doesn't need to be a service"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
campaign total/daily counters
when we perform a push we update counter in redis for campaigns
when we pick a campaign from database, we need to check it's total and daily limits
every campaign has to have
- total counter
- daily counter
example redis keys:
stats:campaign:{id}:total-count
stats:campaign:{id}:date:{yyyy-mm-dd}:count
redis keys naming conventions
app.py:89-89: connect to rabbitmq
The puzzle 1-ad97d779
in app.py
(lines 89-89) has to be resolved: "connect to rabbitmq"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
prepare targeting list for admin interface
subscriber entity in database has lots of additional fields
we want to target auditory by this fields
send additional fields in bidrequest
list of fields
offer_id, site_id, pw_gender, time_zone, goods_id, template_name, slave_prefix, subacc2, subacc, preland_id, s_trk, package_prices, old_price, total_price, price, shipment_price, sm_09, sm_11, sm_12, sm_13, sm_14, sm_15, reg_date
take them form subscriber document
and put in a user.ext
field in bidrequest
app.py:232-233: create api wrapper for remote...
The puzzle 25-1e925adb
in app.py
(lines 232-233) has to be resolved: "create api wrapper for remote subscribers and use it in SubscriberRemoteStorageService"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 60 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
take push limit per token from cabinet
update counters in redis for campaign
when push is made to the push api, we need to update counters (increment by 1) in Redis for this campaign
- total counter for campaign
- daily counter for campaign
here is info about key naming #32
test_campaigns_runner_service.py:19-19: write tests for other services
The puzzle 3-cfd71d9f
in test/test_campaigns_runner_service.py
(lines 19-19) has to be resolved: "write tests for other services"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 60 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
refactoring: move services to separate modules
app.py:200-200: get page of subscribers from remote...
The puzzle 19-68233713
in app.py
(lines 200-200) has to be resolved: "get page of subscribers from remote storage"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
app.py:90-90: publish to sell-imp queue
The puzzle 1-1cc7a32d
in app.py
(lines 90-90) has to be resolved: "publish to sell-imp queue"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
setup 0pdd
app.py:69-69: daily count check (campaign daily limit)
The puzzle 1-4087555a
in app.py
(lines 69-69) has to be resolved: "daily count check"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
app.py:99-99: perform a call to Redis
The puzzle 1-335113bf
in app.py
(lines 99-99) has to be resolved: "perform a call to Redis"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
bidrequest frequency settings
restrict bidrequest frequency for same user in a given timeframe
example,
do not bid for same user more that once in an hour
setup circle ci
implement "update user's counters" service
app.py:39-39: perform a call to Druid
The puzzle 1-8a8f3115
in app.py
(lines 39-39) has to be resolved: "perform a call to Druid"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
implement Exchange service
implement "send push to the push api" service
auditory planner http endpoint
given filters
country=[str, str]
offer_id=int
device=[str, str]
endpoint should return count of users which match
app.py:155-155: filter user by timezone
The puzzle 11-e005e178
in app.py
(lines 155-155) has to be resolved: "filter user by timezone"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
create command for running syncer from cli
app.py:114-115: filter users by country codes...
The puzzle 9-36a3e1bb
in app.py
(lines 114-115) has to be resolved: "filter users by country codes (whitelist and blacklist) IN country list, NOT IN country list"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
app.py:77-77: send targetings data to receive...
The puzzle 1-35c57fd0
in app.py
(lines 77-77) has to be resolved: "send targetings data to receive needed auditory"
The puzzle was created by aslan on 09-Jul-17.
Estimate: 15 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
persist subscriber in ES (not in mongo)
https://github.com/bloogrox/ssp-campaigns/blob/master/app.py#L115
Estimation: 30 min
app.py:92-92: implement update subscriber in mongo
The puzzle 19-a2c0b792
in app.py
(lines 92-92) has to be resolved: "implement update subscriber in mongo"
The puzzle was created by aslan on 10-Jul-17.
Estimate: 30 minutes, role: IMP.
If you have any technical questions, don't ask me, submit new tickets instead. The task will be "done" when the problem is fixed and the text of the puzzle is removed from the source code. Here is more about PDD and about me.
move data to elasticsearch
we have data in mongodb, we need to transfer that data to es (elasticsearch)
and update code to takek data from es. and remove mongodb from project.
annotate document with timezone offset number
https://github.com/bloogrox/ssp-campaigns/blob/master/services/syncer_subscriber_augmentor.py
timezone-offset
we can use this field to make queries
take documents which are in local time N hours o'clock now
Estimation: 30 min
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.