Pretty big update in terms of framework.
Revamped queuing (again) - Instead of running 2 workers at once for a worker, only one is needed, since originally I ran two so that I could populate the AnimeDB quickly, that's not a concern now that the DB is well populated so I can have it as one worker which simplifies things alot. I now use hashes so I don't have to process users who haven't updated their list which saves a lot of time. Because speed has been increased, all users are now updated nightly which means I have removed the need for an update button. This will last until the population increases to the point where nightly updates might not be feasible.
New Database - User stats (Days, # Watch, Comp, Dropped, Hold, Hipster Score, etc) are now archived weekly, I will plan to use this in the future for some graphs, but in the meantime it serves a different purpose.
DWTW - Days watched this week, pretty much how much anime has been watched this week, used for comparison in group user tables and for a new table in user pages that displays the next 10 people who have seen more than the user in MAL days, as a form of competition to beat them. I plan on allowing users to pick rivals that will be stickied onto the table.
Problem with my timeline solution in that certain users generate way too much data, and so I'm going to have to simplify that data that gets stored and then have it parsed at the end - Timeline disabled until I do that.