Example #1
0
function lock($key, $timeout = 1)
{
    $interval = 100000;
    $wait = 0;
    $utimeout = $timeout * 1000000;
    do {
        if (cache_add($key, 1, $timeout)) {
            locks($key, true);
            return true;
        }
    } while ($wait < $utimeout && !usleep($interval) && ($wait += $interval));
    return false;
}
Example #2
0
<?php

/**
 * Скрипт прогревания кеша поиска заказов
 * @author alxmsl
 */
$baseDir = realpath('.');
include $baseDir . '/source/ordr/order/order.php';
include $baseDir . '/source/ordr/cache/cache.php';
$config = order_config();
foreach ($config['shard'] as $k => $v) {
    $link = mysql_connect($v['host'], $v['user'], $v['password']);
    if ($link) {
        mysql_select_db($v['db'], $link);
        $result = mysql_query('SELECT * FROM `order` WHERE deleted = false AND executor_id IS NULL;', $link);
        $orders = [];
        while ($row = mysql_fetch_assoc($result)) {
            cache_add($row);
        }
    }
}