Browse Source
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.pull/40/head
czaks
8 years ago
6 changed files with 76 additions and 8 deletions
@ -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…
Reference in new issue