Offload inbox updates to a queue handler to speed up posting online
authorEvan Prodromou <evan@status.net>
Mon, 25 Jan 2010 23:08:21 +0000 (18:08 -0500)
committerEvan Prodromou <evan@status.net>
Mon, 25 Jan 2010 23:08:21 +0000 (18:08 -0500)
commite26a843caf9f6bb0d11a7128884db235ededcce0
tree487082fa439a9b952756a2196066579e14705a33
parentf3beed68898a59c40220f4c47cb81a7cd91fbd09
Offload inbox updates to a queue handler to speed up posting online

Moved much of the writing that happens when posting a notice to a new
queuehandler, distribqueuehandler. This updates tags, groups, replies
and inboxes at queue time (or at Web time, if queues are disabled).

To make this work well, I had to break up the monolithic
Notice::blowCaches() and make cache blowing happen closer to where
data is updated.

Squashed commit of the following:

commit 5257626c62750ac4ac1db0ce2b71410c5711cfa3
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 14:56:41 2010 -0500

    slightly better handling of blowing tag memory cache

commit 8a22a3cdf6ec28685da129a0313e7b2a0837c9ef
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:42:56 2010 -0500

    change 'distribute' to 'distrib' so not too long for dbqueue

commit 7a063315b0f7fad27cb6fbd2bdd74e253af83e4f
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:39:15 2010 -0500

    change handle_notice() to handle() in distributqueuehandler

commit 1a39ccd28b9994137d7bfd21bb4f230546938e77
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 16:05:25 2010 -0500

    error with queuemanager

commit e6b3bb93f305cfd2de71a6340b8aa6fb890049b7
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 01:11:34 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 94d557cdc016187d1d0647ae1794cd94d6fb8ac8
Author: Evan Prodromou <evan@status.net>
Date:   Mon Jan 25 00:48:44 2010 -0500

    Blow memcache at different point rather than one big function for Notice class

commit 1c781dd08c88a35dafc5c01230b4872fd6b95182
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:54:18 2010 -0500

    move broadcasting and distributing to new queuehandler

commit da3e46d26b84e4f028f34a13fd2ee373e4c1b954
Author: Evan Prodromou <evan@status.net>
Date:   Wed Jan 20 08:53:12 2010 -0500

    Move distribution of notices to new distribute queue handler
16 files changed:
actions/apistatusesretweet.php
actions/apistatusesupdate.php
actions/newnotice.php
actions/repeat.php
classes/Inbox.php
classes/Memcached_DataObject.php
classes/Notice.php
classes/Notice_tag.php
classes/User.php
lib/command.php
lib/distribqueuehandler.php [new file with mode: 0644]
lib/mailhandler.php
lib/oauthstore.php
lib/queuemanager.php
lib/util.php
plugins/Facebook/facebookaction.php