Чат на Laravel 5.6 + Ratchet. Часть 4. Работа над ошибками

В первой части забыл упомянуть один момент. Чтобы ваша команда

php artisan push_server:serve

запускалась, ее надо прописать в классе Kernel в файле app/Console/Kernel.php

protected $commands = [

  \App\Console\Commands\PushServer::class,

];

Далее. Если ваш сервер ВНЕЗАПНО упал, можно его конечно перезапустить вручную. Но мы же программисты! Так что давайте автоматизировать. Изменим немного клиентский код:

let conn = new ab.connect(
    'ws://' + ip + ':8080',
    function (session) {
      session.subscribe('onNewData', function (topic, data) {
        notification(data.data);
      });
    },

    function (code, reason, detail) {
      console.warn('Websocket connection closed! Code = ' + code + '; Reason = ' + reason + '; Detail = ' + detail + ';');
      restartPushServerAjax(); //Добавили вот эту строчку
    },

    {
      'maxRetries'          : 60,
      'retryDelay'          : 4000,
      'skipSubprotocolCheck': true
    }
  );
function restartPushServerAjax(){
  ajaxSetup();
  $.ajax({
    url     : "/restartPushServerAjax/",
    dataType: "json",
    success : function (data) {
      console.log(data);
    },
    error   : function (jqxhr, status, errorMsg) {
      ajaxErrorsHandling(jqxhr, status, errorMsg);
    }
  });
}

И пропишем роут для этой функции:

Route::get('/restartPushServerAjax/', function () {
    $restart = Artisan::call('push_server:serve');

    if ($restart) {
        echo json_encode(['success' => 'Server restarted']);
    } else {
        echo json_encode(['fail' => 'Error occurred']);
    }
});

Первая часть
Вторая часть
Третья часть

80 thoughts on “Чат на Laravel 5.6 + Ratchet. Часть 4. Работа над ошибками”

  1. А вот интересно вы играли в онлайн шарики на З-Гэйм? Советую сделать это немедленно. Самые красивые логические игры шарики собраны на Z-GAME. Ты когда-нибудь плакал от счастья?
    Вспоминая наш день или ночь.
    Чтобы не было сил превозмочь
    Эту слабость в ногах и запястьях.

    Каждый час утопаю в тебе,
    Запах твой не смывается мылом.
    Ну, скажи, Боже, что это было?!
    Голос, губы твои в тишине.

    Я закрою глаза и дышу
    Волосами в дыму сигареты.
    Мои руки твоими согреты
    И реальности не нахожу.

    Я сама себе позавидую.
    Слезы счастья сегодня впервые.
    А потом улыбнусь в перерыве:
    Это ж надо Тебя вот так выдумать…

  2. Где смотреть Евро-2020? По каким каналам можно посмотреть матчи Евро-2021?
    Полная информация на сайте
    https://cerrajerosrivasvaciamadrid.site/2021/17-smotret-evro-2021-za-1-dollar/?&partner=google&gclid=CjwKCAjwqvyFBhB7EiwAER786ctyeIqW1b5uJtRDpeKA8Cfh9yBcTZuz3NxD4xxEPheId_-sdcVwURoCbwUQAvD_BwE&gclsrc=aw.ds

    Простейшие варианты где можно смотреть Евро-2020 бесплатно или за 1 доллар в месяц в качестве HD.

  3. Уведомление: hydroxychloroquine sulfate tablets
  4. Its like you read my mind! You appear to know a lot about this, like you wrote the book
    in it or something. I think that you can do with some pics to drive the message home a bit, but other than that, this is excellent blog.
    A fantastic read. I’ll definitely be back.

    click here= 파워볼사이트

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *