- 03 Sep, 2010 2 commits
-
-
Craig Andrews authored
-
Craig Andrews authored
-
- 27 Jan, 2010 1 commit
-
-
Craig Andrews authored
-
- 22 Jan, 2010 4 commits
-
-
Craig Andrews authored
Revert "Any object (not just Notice's) can be queued" This reverts commit 77ea02ca.
-
Brion Vibber authored
Queue handlers for XMPP individual & firehose output now send their XML stanzas to another output queue instead of connecting directly to the chat server. This lets us have as many general processing threads as we need, while all actual XMPP input and output go through a single daemon with a single connection open. This avoids problems with multiple connected resources: * multiple windows shown in some chat clients (psi, gajim, kopete) * extra load on server * incoming message delivery forwarding issues Database changes: * queue_item drops 'notice_id' in favor of a 'frame' blob. This is based on Craig Andrews' work branch to generalize queues to take any object, but conservatively leaving out the serialization for now. Table updater (preserves any existing queued items) in db/rc3to09.sql Code changes to watch out for: * Queue handlers should now define a handle() method instead of handle_notice() * QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning thread management (RespawningDaemon) infrastructure. * The polling XmppConfirmManager has been dropped, as the message is queued directly when saving IM settings. * Enable $config['queue']['debug_memory'] to output current memory usage at each run through the event loop to watch for memory leaks To do: * Adapt XMPP i/o to component connection mode for multi-site support. * XMPP input can also be broken out to a queue, which would allow the actual notice save etc to be handled by general queue threads. * Make sure there are no problems with simply pushing serialized Notice objects to queues. * Find a way to improve interactive performance of the database-backed queue handler; polling is pretty painful to XMPP. * Possibly redo the way QueueHandlers are injected into a QueueManager. The grouping used to split out the XMPP output queue is a bit awkward. Conflicts: scripts/xmppdaemon.php
-
Brion Vibber authored
Queue handlers for XMPP individual & firehose output now send their XML stanzas to another output queue instead of connecting directly to the chat server. This lets us have as many general processing threads as we need, while all actual XMPP input and output go through a single daemon with a single connection open. This avoids problems with multiple connected resources: * multiple windows shown in some chat clients (psi, gajim, kopete) * extra load on server * incoming message delivery forwarding issues Database changes: * queue_item drops 'notice_id' in favor of a 'frame' blob. This is based on Craig Andrews' work branch to generalize queues to take any object, but conservatively leaving out the serialization for now. Table updater (preserves any existing queued items) in db/rc3to09.sql Code changes to watch out for: * Queue handlers should now define a handle() method instead of handle_notice() * QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning thread management (RespawningDaemon) infrastructure. * The polling XmppConfirmManager has been dropped, as the message is queued directly when saving IM settings. * Enable $config['queue']['debug_memory'] to output current memory usage at each run through the event loop to watch for memory leaks To do: * Adapt XMPP i/o to component connection mode for multi-site support. * XMPP input can also be broken out to a queue, which would allow the actual notice save etc to be handled by general queue threads. * Make sure there are no problems with simply pushing serialized Notice objects to queues. * Find a way to improve interactive performance of the database-backed queue handler; polling is pretty painful to XMPP. * Possibly redo the way QueueHandlers are injected into a QueueManager. The grouping used to split out the XMPP output queue is a bit awkward.
-
Brion Vibber authored
Queue handlers for XMPP individual & firehose output now send their XML stanzas to another output queue instead of connecting directly to the chat server. This lets us have as many general processing threads as we need, while all actual XMPP input and output go through a single daemon with a single connection open. This avoids problems with multiple connected resources: * multiple windows shown in some chat clients (psi, gajim, kopete) * extra load on server * incoming message delivery forwarding issues Database changes: * queue_item drops 'notice_id' in favor of a 'frame' blob. This is based on Craig Andrews' work branch to generalize queues to take any object, but conservatively leaving out the serialization for now. Table updater (preserves any existing queued items) in db/rc3to09.sql Code changes to watch out for: * Queue handlers should now define a handle() method instead of handle_notice() * QueueDaemon and XmppDaemon now share common i/o (IoMaster) and respawning thread management (RespawningDaemon) infrastructure. * The polling XmppConfirmManager has been dropped, as the message is queued directly when saving IM settings. * Enable $config['queue']['debug_memory'] to output current memory usage at each run through the event loop to watch for memory leaks To do: * Adapt XMPP i/o to component connection mode for multi-site support. * XMPP input can also be broken out to a queue, which would allow the actual notice save etc to be handled by general queue threads. * Make sure there are no problems with simply pushing serialized Notice objects to queues. * Find a way to improve interactive performance of the database-backed queue handler; polling is pretty painful to XMPP. * Possibly redo the way QueueHandlers are injected into a QueueManager. The grouping used to split out the XMPP output queue is a bit awkward.
-
- 21 Jan, 2010 1 commit
-
-
Craig Andrews authored
-
- 06 Jan, 2010 1 commit
-
-
Zach Copley authored
-
- 21 Oct, 2009 1 commit
-
-
Zach Copley authored
-
- 20 Oct, 2009 1 commit
-
-
Zach Copley authored
-
- 08 Oct, 2009 1 commit
-
-
Evan Prodromou authored
This reverts commit aeca8807. We specifically DON'T have closing tags so we don't get errors with whitespace after the closing tag. I realize this is less of an issue with scripts, but we should still not use closing tags.
-
- 05 Oct, 2009 1 commit
-
-
Eric Helgeson authored
-
- 25 Aug, 2009 2 commits
-
-
Evan Prodromou authored
-
Evan Prodromou authored
-
- 22 Jun, 2009 2 commits
-
-
Evan Prodromou authored
-
Evan Prodromou authored
-
- 20 Jun, 2009 3 commits
-
-
Evan Prodromou authored
-
Evan Prodromou authored
-
Evan Prodromou authored
-
- 16 Feb, 2009 1 commit
-
-
Zach Copley authored
Facebook queue handler patch set!
-
- 12 Feb, 2009 1 commit
-
-
Zach Copley authored
-
- 23 Dec, 2008 4 commits
-
-
Evan Prodromou authored
Another gigantor PEAR coding standards patch. Here, I've moved the opening curly bracket on a class statement to the following line. darcs-hash:20081223194923-84dde-77a93de314caadbcb5b70bf346a4648be77a864e.gz
-
Evan Prodromou authored
Another huge change, for PEAR code standards compliance. Function headers have to be in K&R style (opening brace on its own line), instead of having the opening brace on the same line as the function and parameters. So, a little perl magic found all the function definitions and move the opening brace to the next line (properly indented... usually). darcs-hash:20081223193323-84dde-a28e36ecc66672c783c2842d12fc11043c13ab28.gz
-
Evan Prodromou authored
Another global search-and-replace update. Here, I've replaced the PHP keyword 'NULL' with its lowercase version. This is another PEAR code standards change. darcs-hash:20081223192129-84dde-4a0182e0ec16a01ad88745ad3e08f7cb501aee0b.gz
-
Evan Prodromou authored
The PEAR coding standards decree: no tabs, but indent by four spaces. I've done a global search-and-replace on all tabs, replacing them by four spaces. This is a huge change, but it will go a long way to getting us towards phpcs-compliance. And that means better code readability, and that means more participation. darcs-hash:20081223191907-84dde-21e8efe210e6d5d54e935a22d0cee5c7bbfc007d.gz
-
- 04 Sep, 2008 1 commit
-
-
Evan Prodromou authored
darcs-hash:20080904184031-84dde-eba2061f3aa898d0c791ffeb70837f759778c567.gz
-
- 31 Aug, 2008 2 commits
-
-
Evan Prodromou authored
darcs-hash:20080831023844-84dde-b8c9ce5f38d33c7fd8a42dc0d3640d500e653011.gz
-
Evan Prodromou authored
darcs-hash:20080831020325-84dde-606d52b08146d4c226f812a9f47b5a3ec1abc743.gz
-
- 30 Aug, 2008 2 commits
-
-
Evan Prodromou authored
darcs-hash:20080830071007-84dde-7e7e52c858e3dd33d0efd02abe86e2eaa7111e4b.gz
-
Evan Prodromou authored
darcs-hash:20080830070309-84dde-14a3492cb8132f6a8008d482caa753df2c79ff46.gz
-
- 28 Aug, 2008 3 commits
-
-
Evan Prodromou authored
darcs-hash:20080828012635-84dde-166baf7800333ee79a6bad2e5427ac7623c7614f.gz
-
Evan Prodromou authored
darcs-hash:20080828003829-84dde-dc44674785f853ebf37861e5e91fb0e0366258e9.gz
-
Evan Prodromou authored
darcs-hash:20080828003013-84dde-7c8323ef348960f58590e872b2c4ab37107ba60a.gz
-
- 27 Aug, 2008 1 commit
-
-
Evan Prodromou authored
Eventually, the poor xmppdaemon has become overloaded with extra tasks. So, I've broken it up. Now, we have 5 background scripts, and more coming: * xmppdaemon.php - handles incoming XMPP messages only. * xmppqueuehandler.php - sends notices from the queue out through XMPP. * smsqueuehandler.php - sends notices from the queue out over SMS * ombqueuehandler.php - sends notices from the queue out over OMB * xmppconfirmhandler.php - sends confirmation requests out over XMPP. This is in addition to maildaemon.php, which takes incoming messages. None of these are "true" daemons -- they don't daemonize themselves automatically. Use nohup or another tool to background them. monit can also be useful to keep them running. At some point, these might become fork()'ing daemons, able to handle more than one notice at a time. For now, I'm just running multiple instances, hoping they don't interfere. darcs-hash:20080827205407-84dde-97884a12f5f4e54c93bc785bd280683d1ee7e749.gz
-
- 13 Aug, 2008 1 commit
-
-
Evan Prodromou authored
darcs-hash:20080813154603-84dde-fc1cf32ab5617c11b6cbe9ad084dac32b0db315a.gz
-
- 29 Jul, 2008 1 commit
-
-
Evan Prodromou authored
darcs-hash:20080729183154-84dde-680e676d3f1f953ed0a8259598aaee04c012dc60.gz
-
- 09 Jul, 2008 1 commit
-
-
Evan Prodromou authored
darcs-hash:20080709195238-84dde-a5df98439faaf7058571b5e345f165adece9c7b8.gz
-
- 07 Jul, 2008 1 commit
-
-
Evan Prodromou authored
darcs-hash:20080707055428-84dde-30ce553505221694c1ee6fd99484c41508d47821.gz
-
- 04 Jul, 2008 1 commit
-
-
Gina Haeussge authored
Make sure the action request parameter only consists of a-z, A-Z, 0-9, _ or - to discourage tampering with the following require_once. darcs-hash:20080704194114-2b4f5-2bec30d7d40d7c7bd2c747ef3c805dbf720f6159.gz
-