/** * Функция получения настроек соединения для данных заказов * @param int $userId идентификатор пользователя, заказы которого нас интересуют * @return false|array массив настроек соединения или FALSE, если плохо всё */ function order_getconnection($userId) { $config = order_config(); foreach ($config['shard'] as $k => $v) { if ($userId <= $k) { return $v; } } return false; }
<?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); } } }