Mikael Nordfeldth 420eea3f24 No need to say we're finished working 9 years ago
..
actions 9400795a5f Cron split into Cronish and OpportunisticQM 10 years ago
lib 420eea3f24 No need to say we're finished working 9 years ago
OpportunisticQMPlugin.php 9400795a5f Cron split into Cronish and OpportunisticQM 10 years ago
README c4e1cd1289 Added OpportunisticQM README that has good docs 10 years ago

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.