• Как ускорить выполнение скрипта?

    @Suxoi Автор вопроса
    DevMan: Сорри, в комментах нельзя код подсвечивать
  • Как ускорить выполнение скрипта?

    @Suxoi Автор вопроса
    Максим Тимофеев Андрей Minisol DevMan Что скажите? или использовать fork?
  • Как ускорить выполнение скрипта?

    @Suxoi Автор вопроса
    Есть несколько серверов поэтому решил разделить нагрузку между ними
    Решение такое, в код дописал константы диапазона выборки (chunk_num), количество серверов, n-участок который молотит выделенный сервер (chunkOrder), начало выборки и конец, запехнул в цикл и делаю проверку ID сервер,чтобы ему было понятно какой участок брать и парсить
    Теперь надо потестить, что скажите?
    const CHUNK = 100000;
    const SERVER_NUM = 10;
    $maxId = $db->fetchVal('SELECT o_id FROM organizations ORDER BY o_id DESC LIMIT 1');
    $chunkOrder = 0;
    $from = 0;
    $to = CHUNK;
    $SERVER_ID = 1;
    do{
    $chunkOrder++;
    if ($SERVER_ID !== $chunkOrder % SERVER_NUM){
    continue;
    };
    $org_twitter = $db->fetchAll('SELECT * FROM organizations where o_id >= :from and o_id < :to', ['from'=>$from, 'to'=> $to]);
    $from = $to;
    $to += CHUNK;
    foreach (){}
    }while($from <= $maxId)
  • Как ускорить выполнение скрипта?

    @Suxoi Автор вопроса
    Да, больше всего времени уходит на CURL, это заметно при debuge ( пару секунд)
    $url = 'https://cdn.syndication.twimg.com/widgets/followbu...' . $twitter;
    echo_cli( 'Fetching ' . $url );

    $ch = curl_init();
    curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, false );
    curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true );
    curl_setopt( $ch, CURLOPT_URL, $url );
    $result = curl_exec( $ch );
    curl_close( $ch );
    $current_data = json_decode( $result, true );

    Вот собственно и код CURL
  • Авторизация с токеном JWT?

    @Suxoi Автор вопроса
    Александр Аксентьев: Александр, я только начинаю осваивать NODE, не могу понять как каждый раз передовать токен который сгенерировался, где он должен хранится, чтобы потом можно было из него вытащить данные, так как нужны для записи в БД, можно на пальцах объяснить?
    запустив сервер - server.js
    в нем при регистрации сервера указываю стратегию
    server.auth.strategy('token', 'jwt', {
    key: privateKey,
    validateFunc: validate
    });
    назначили какой то свой серкретный код, потом сделали проверку что он жив больше какого то времени

    Сервер начинает обрабатывать запросы
    { method: 'POST', path: '/users/register', config: User.register},
    { method: 'POST', path: '/users/login', config: User.login},

    { method: 'GET', path: '/todos', config: Todo.view }

    И вот отправляем через POstman, первый запрос на авторизацию, POST/users/login
    обработка в модуле "User"

    const secure = require('../routes/secure.js');

    exports.login = { handler: function(request, reply) {
    ...
    var token = secure.generateToken(user._id, user.userName) ;
    reply(token)
    ...
    {
    "username": "user",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU3YjQyZDg5ZTI5MjlkYTg2MTVlYjhjMiIsInVzZXJuYW1lIjoidXNlciIsImlhdCI6MTQ3MTUwODQ4OX0.jNpJFWhJcL--x83QI69dhpPo9NVJV6oIVMehlOUZu8I",
    "id": "57b42d89e2929da8615eb8c2"
    }

    Все гуд, Токен получен, дальше я делаю запрос на
    GET/todos - и бам ошибка,
    {
    "statusCode": 401,
    "error": "Unauthorized",
    "message": "Missing authentication"
    }
    Задаю в хедер - Authorization - my Token
    {
    "statusCode": 400,
    "error": "Bad Request",
    "message": "Bad HTTP authentication header format"
    }

    Вот обработка GET/todos

    exports.view = {
    auth: 'token',
    handler: function(request, reply) {
  • Авторизация с токеном JWT?

    @Suxoi Автор вопроса
    Как такую сессию поднять?
  • Zabbix-Мониторинг ПК в AD+уведомление на почту?

    @Suxoi Автор вопроса
    Но чтобы вытащить информацию о CPU,памяти,дисках, можно только через заббикс агента , правильно?
    И сделать все это через GPO, а как в заббиксе создать автообнаружение и чтобы все хосты добавились в определенную группу?