Changes between Version 54 and Version 55 of Notifications
- Timestamp:
- Dec 11, 2009, 11:05:07 AM (15 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Notifications
v54 v55 103 103 === Project Notifications === 104 104 Project notifications is an umbrella feed which covers several different pieces of information including: 105 • Welcome Messages 106 • Private Messages 107 • Project News 108 • Project Milestones 109 • Friend Requests 110 • Forum Threads 111 • Forums (Any new thread created in the forum) 105 * Welcome Messages 106 * Private Messages 107 * Project News 108 * Project Milestones 109 * Friend Requests 110 * Forums 111 * Forum Threads 112 112 113 This functionality is currently implemented using the following link: 113 114 {{{ 114 115 http://<project_url>/notify_rss.php 115 116 }}} 117 116 118 The following changes should be made: 117 • Each item should belong to one or more categories the client software can use to filter on. 118 ‘’’NOTE:’’’ This whole feature area should be audited. I would be surprised if 1% of the volunteer population even uses it, after this whole feature is completed 100% of the active host population will be using it. 119 120 * Each item should belong to one or more categories the client software can use to filter on. 121 122 '''NOTE:''' This whole feature area should be audited. I would be surprised if 1% of the volunteer population even uses it, after this whole feature is completed 100% of the active host population will be using it. 123 119 124 Database queries should be batched and referenced tables should be converted from MyISAM to InnoDB, whole table locks will cause both BOINC clients and the website to stall depending on which operation(s) are in play. 125 120 126 Preliminary investigation reveals this could be a problem area for us, one query is issued to return all the notifications, and then a new query is issued for each notification to get the details. 127 121 128 A better strategy, using the same schema, is to issue a feeler query that’ll return hints as to which batch queries to issue. Each positive hint will cause a new query to be issued that uses a join to merge all notification records of a certain type with the details of that type. 129 122 130 For instance if a volunteer has 50 private messages the current scheme would result in a minimum of 51 queries issued against the database, the proposed scheme should result in 2 queries against the database. 131 123 132 Things get progressively worse the more engaged the volunteer is, 50 private messages and 10 threads being watched would result in 61 queries issued in the current scheme, while only 3 queries would be issued in the proposed scheme. 133 124 134 It is also important to note that the effect of the numbers increase in proportion to the number of machines attached to the project. 135 125 136 ==== Welcome Messages ==== 126 137 ==== Private Messages ==== … … 128 139 ==== Project Milestones ==== 129 140 ==== Friend Requests ==== 141 ==== Forums ==== 130 142 ==== Forum Threads ==== 131 ==== Forums ====132 143 133 144 === BOINC Action Feed ===