Mikael Nordfeldth 420eea3f24 No need to say we're finished working %!s(int64=9) %!d(string=hai) anos
..
actions 9400795a5f Cron split into Cronish and OpportunisticQM %!s(int64=11) %!d(string=hai) anos
lib 420eea3f24 No need to say we're finished working %!s(int64=9) %!d(string=hai) anos
OpportunisticQMPlugin.php 9400795a5f Cron split into Cronish and OpportunisticQM %!s(int64=11) %!d(string=hai) anos
README c4e1cd1289 Added OpportunisticQM README that has good docs %!s(int64=10) %!d(string=hai) anos

README

Generally the OpportunisticQM plugin will run if there's still execution
time for 1 second since starting the Action processing. If you want to
change this (such as disabling, 0 seconds, or maybe running bigger
chunks, for like 4 seconds) you can do this, where 'n' is time in seconds.

addPlugin('OpportunisticQM', array('secs_per_action', n));

Add 'rel_to_pageload'=>false to the array if you want to run the queue
for a certain amount of seconds _despite_ maybe already having run that
long in the previous parts of Action processing.

Perhaps you want to start the queue handler remotely, using a machine capable
of background processing (or locally, to avoid running PHP daemon processes),
simply do an HTTP GET request to the route /main/runqueue of your GNU social.
Setting secs_per_action to 0 in the plugin config will imply that you run
all your queue handling by calling /main/runqueue (which runs as long as it
can).

/main/runqueue will output "0" if it has finished processing, "1" if it
should be called again to complete processing (because it shut down to avoid
to PHP's max_execution_time INI setting).

The key-required functionality is not throughly tested yet, so testing
would be appreciated.