forked from leftypol/leftypol
(2/2) advanced build. implement a daemon that will build static pages.
implement a queue and a lock. fix notice in bans. and it even works! the daemon is basic right now, it could work in a mode that it will defer building certain pages until a certain time.
This commit is contained in:
parent
e265375475
commit
12e6aba5d4
6 changed files with 76 additions and 8 deletions
31
tools/worker.php
Executable file
31
tools/worker.php
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/php
|
||||
<?php
|
||||
/* worker.php - part of advanced build vichan feature */
|
||||
|
||||
require dirname(__FILE__) . '/inc/cli.php';
|
||||
require_once 'inc/controller.php';
|
||||
|
||||
$config['smart_build'] = false; // Let's disable it, so we can build the page for real
|
||||
$config['generation_strategies'] = array('strategy_immediate');
|
||||
|
||||
function after_open_board() { global $config;
|
||||
$config['smart_build'] = false;
|
||||
$config['generation_strategies'] = array('strategy_immediate');
|
||||
};
|
||||
|
||||
echo "Hello world!\n";
|
||||
|
||||
$queue = get_queue('generate');
|
||||
|
||||
while (true) {
|
||||
$q = $queue->pop(2);
|
||||
foreach ($q as $v) {
|
||||
list($__, $func, $ary, $action) = unserialize($v);
|
||||
echo "Starting to generate $func ".implode(" ", $ary)."... ";
|
||||
|
||||
call_user_func_array($func, $ary);
|
||||
|
||||
echo "done!\n";
|
||||
}
|
||||
if (!$q) usleep(20000); // 0.02s
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue