mirror of
https://framagit.org/hubzilla/core.git
synced 2026-06-21 00:52:33 -04:00
39 lines
678 B
PHP
39 lines
678 B
PHP
<?php
|
|
|
|
namespace Zotlabs\Daemon;
|
|
|
|
use Zotlabs\Lib\Cache;
|
|
|
|
class Cache_query {
|
|
|
|
static public function run($argc, $argv) {
|
|
|
|
if(! $argc == 3)
|
|
return;
|
|
|
|
$key = $argv[1];
|
|
|
|
$pid = get_config('procid', $key, false);
|
|
if ($pid && (function_exists('posix_kill') ? posix_kill($pid, 0) : true)) {
|
|
logger($key . ': procedure already run with pid ' . $pid, LOGGER_DEBUG);
|
|
return;
|
|
}
|
|
|
|
$pid = getmypid();
|
|
set_config('procid', $key, $pid);
|
|
|
|
array_shift($argv);
|
|
array_shift($argv);
|
|
|
|
$arr = json_decode(base64_decode($argv[0]), true);
|
|
|
|
$r = call_user_func_array('q', $arr);
|
|
if($r)
|
|
Cache::set($key, serialize($r));
|
|
|
|
del_config('procid', $key);
|
|
|
|
return;
|
|
}
|
|
}
|