Commit graph

5015 commits

Author SHA1 Message Date
Samuel Clay
bcc3dfd04c Adding expiration to new unread stories lists. 2022-07-07 11:45:18 -04:00
Samuel Clay
937a5e66af Checking existence of unread_story:user:feed, assembling on the fly. This breaks down when a feed has no unread stories, but we may need to figure out a zero cardinality list solution. 2022-07-07 11:13:16 -04:00
Samuel Clay
aca79771a9 New unread stories collector, now relies on already existing unread story per-feed per-user lists instead of creating them on the fly every time a river is assembled.
Massive performance improvement at the risk of stale unreads. Luckily this won't cause read stories to show as unread, but it may cause an issue of stale unread story lists not showing the latest unread.

The next commit will focus on additional existance checks for those unread story lists, so that at a small performance hit, no data migration is needed to enforce a recount for all feeds.
2022-07-07 10:22:05 -04:00
Samuel Clay
9314832cf1 Even bigger chunks? 2022-07-06 14:34:52 -04:00
Samuel Clay
8a6330951b Moving to huge redis chunks. 2022-07-06 14:02:56 -04:00
Samuel Clay
c318955283 Reducing redis-story chunk size down to 10 to see if it alleviates pressure. 2022-07-05 16:46:11 -04:00
Samuel Clay
eed3de0f82 Use latest unread_cutoff to fetch stories for inverting. 2022-07-05 12:14:04 -04:00
Samuel Clay
c296948ba8 Fixing issue where marking a story as unread would turn all of the stories read if the mark read date was older than unread cutoff for the user. No need to invert stories if mark read date user-specific unread cutoff is older than story. 2022-07-05 12:10:03 -04:00
Samuel Clay
e32e581562 Cutting feed chunks in half 2022-07-05 10:25:17 -04:00
Samuel Clay
88030ab1f3 Validating paypal ipns. 2022-07-03 10:42:01 -04:00
Samuel Clay
b1c8cf64cd Changing unread cutoff date to use unread cutoff, not days of story hashes. 2022-07-02 11:36:58 -04:00
Samuel Clay
4b950033bb Give premium users one year to use folder RSS feeds until they become premium archive only. 2022-07-02 10:53:47 -04:00
Samuel Clay
6ed33a5a65 Stripe should consider active subscription that have bene canceled as still active. 2022-07-02 10:53:24 -04:00
Samuel Clay
e6088e93d1 plan_id, not plan.id 2022-07-01 17:31:30 -04:00
Samuel Clay
4a67bc49eb Paypal active plan should be found during premium history search. 2022-07-01 17:29:22 -04:00
Samuel Clay
d387e8db5e Better logging of paypal subs. 2022-07-01 15:57:09 -04:00
Samuel Clay
e566ec03e9 Python imports don't always work when overly composed. 2022-07-01 15:39:20 -04:00
Samuel Clay
add08159dc Wrapping paypal ipn in an assertionerror check because sometimes paypal sends webhooks to ipn endpoint. 2022-07-01 15:04:56 -04:00
Samuel Clay
3c0cab8d8e Preserve feed even if no subs. 2022-07-01 13:48:10 -04:00
Samuel Clay
f1734e3755 Handling weird exceptions from the exception_retry. 2022-07-01 13:24:47 -04:00
Samuel Clay
0c23b6eeb5 Handling missing subscription when canceling paypal. 2022-07-01 12:35:59 -04:00
Samuel Clay
1e2ecb19d9 Handling unparseable error in text importer. 2022-07-01 12:21:40 -04:00
Samuel Clay
fc3f027241 Handling stripe card error. 2022-07-01 12:20:10 -04:00
Samuel Clay
932b4a489c Attempting two paypal fixes, one where ipns are sent to webhooks, and the other where webhooks are sent to ipns. 2022-07-01 12:17:14 -04:00
Samuel Clay
d9355ac6c6 Updating blog post dates 2022-06-30 16:03:19 -04:00
Samuel Clay
936ae4d70c Need content to read json from 2022-06-27 21:23:26 -04:00
Samuel Clay
0b77ec3e86 Refactoring story_hashes to be more efficient with the zunionstore's. 2022-06-27 16:16:02 -04:00
Samuel Clay
0e42edeb89 Including size in feed title 2022-06-27 13:16:08 -04:00
Samuel Clay
4081b7b278 Upping river chunk size to decrease latency. 2022-06-27 12:33:36 -04:00
Samuel Clay
7991c9da26 Wrong feed ids when removing temporary unread sets. 2022-06-27 12:32:16 -04:00
Samuel Clay
6e71f847a2 Clearing out unread stories after being used. 2022-06-27 12:28:19 -04:00
Samuel Clay
108d88b785 Attempting to reduce redis db size by deleting unread stories list when no longer needed. 2022-06-27 12:24:49 -04:00
Samuel Clay
4b0a599a03 Removing stories outside a mark read date cutoff. Also slightly optimizing a check for old unread stories by checking existance instead of zrevrange -1 -1. 2022-06-24 18:12:00 -04:00
Samuel Clay
71cd36f215 Removing unecessary pulling of story hashes from pipeline when we can just index into the stored set. 2022-06-24 14:29:58 -04:00
Samuel Clay
d4833a0d56 Updating redis query log to include response time as well. Huge improvement in redis monitoring. 2022-06-24 12:30:29 -04:00
Samuel Clay
f459944b88 Accidentally running full aggregation on chunks and not end of pipeline. 2022-06-23 17:50:47 -04:00
Samuel Clay
c38fcc59cf Refactoring all stories redis calls, now with 99% less traffic. 2022-06-23 17:32:55 -04:00
Samuel Clay
23260a4b72 Removing dump and restore by querying on zinterstore of river hashes. 2022-06-23 17:13:06 -04:00
Samuel Clay
30127d7c72 Refactoring out get_stories and its duplicate implementation and using story_hashes. 2022-06-23 15:50:56 -04:00
Samuel Clay
6792762e27 Refactoring story_hashes grouP-by_feed in prep for removing .get_stories(). 2022-06-23 15:35:20 -04:00
Samuel Clay
8aff53c2ba Re-enabling archive redis calls. 2022-06-23 14:38:13 -04:00
Samuel Clay
81f51f1723 Handling soft time limits while fetching archives. 2022-06-22 17:40:16 -04:00
Samuel Clay
d47053d049 Refactoring 2022-06-22 15:53:13 -04:00
Samuel Clay
c20eed028c Attempting to impose longer time limits for archive fetch. 2022-06-22 15:44:39 -04:00
Samuel Clay
9759bda53a Overriding time limit for archive feed fetch. 2022-06-22 15:06:30 -04:00
Samuel Clay
6c86bb479a Using correct url for rfc5005. 2022-06-22 12:11:52 -04:00
Samuel Clay
b6cc43f2ca Don't upgrade accounts that are only fetching history. 2022-06-21 13:17:00 -04:00
Samuel Clay
040eb9148e Deleting paypal and stripe ids when deleting a user. 2022-06-21 11:23:25 -04:00
Samuel Clay
04544f9c9f Using correct unread cutoff. 2022-06-21 11:11:38 -04:00
Samuel Clay
5e70a09e7c Handling missing paypal custom_id field when suspending subscriptions. 2022-06-21 10:13:39 -04:00