diff options
| author | czaks <marcin@6irc.net> | 2016-05-08 13:20:00 +0200 |
|---|---|---|
| committer | czaks <marcin@6irc.net> | 2016-05-08 13:23:41 +0200 |
| commit | 12e6aba5d4a2965591b3df76e4f6c19e35475700 (patch) | |
| tree | ee38c5ac853427ac7af904f5631e755a081c7d90 /tools/worker.php | |
| parent | e2653754750917035b79e62b07d286b3a56cf9ca (diff) | |
(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.
Diffstat (limited to 'tools/worker.php')
| -rwxr-xr-x | tools/worker.php | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/tools/worker.php b/tools/worker.php new file mode 100755 index 00000000..e19fe1c6 --- /dev/null +++ b/tools/worker.php @@ -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 +} |
