UBP troubleshooting
Reminders:
- Keep in mind ubp works between powr and powr_counter repos
- It uses Redis in order to store apps views and subscription info
- It uses some workers for work(see below)
- Currently is legacy
Powr repo
How to find user's views?
Fallback::Redis.get("user_#{user_id}_visits").to_i
How to find user's subscription info?
Fallback::Redis.get("user_subscription_#{user_id}")
Getting threshold users
REDIS.smembers('user_threshold_reached')
REDIS.smembers('user_threshold_warning')
Getting user status of blocking apps
select * from views_counts where user_id=your_user_id
Workers and Tasks
Apps::UpdateUserSubscriptionCacheWorker - updates users subscription info in Redis when plan was upgraded or it's free.
UsageBasedThresholdWorker - verifies that limits by the plan were reached or not, also it blocks users apps.
UsageBasedResetViewsDelayedWorker - works only for shopify users. It will create delayed worker for resetting apps views base on subscription frequency.
lib/tasks/usage_based.rake (powr_counter repo) - calculates views and creates some Redis keys for ubp flow.
Some schema for Heroku: https://drive.google.com/file/d/1tkPWT7VTr4RuJS1C5WMWgX9nLHQw77r1/view?usp=sharing