@kirill-93

Как обновлять nodejs приложение, чтобы не потерять данные?

У меня на сайте люди открывают разные страницы, просматривают и редактируют их.
Каждое действие отслеживается на сервере через веб-сокеты.
Я для этого написал небольшое приложение на nodejs, примерно такое:
let modifyingPages = 0;
let browsingPages = 0;
let creatingPages = 0;

ws.on('message', json => {
    const msg = JSON.parse(json);

    if (msg.type === 'startModifyPage') {
        this.modifyingPages++;
    } else if (msg.type === 'finishModifyPage') {
        this.modifyingPages--;
    } else if (msg.type === 'startBrowsePage') {
        this.browsingPages ++-;
    } else if (msg.type === 'finishBrowsePage') {
        this.browsingPages --;
    } else if (msg.type === 'startCreatePage') {
        this.creatingPages ++;
    } else if (msg.type === 'finishCreatePage') {
        this.creatingPages --;
    }
});


В общем когда пользователь совершает какое-то действие, оно записывается в счетчик, а этот счетчик выводится на всеобщее обозрение. Некая статистика в реальном времени.
Проблема в том, что когда я модифицирую этот файл, мне его нужно перезапустить, а перезапуская, счётчик обнуляется.
Как в таких случаях поступают?
  • Вопрос задан
  • 56 просмотров
Решения вопроса 1
GreyCrew
@GreyCrew
Full-stack developer
Сохраняют в отдельное место.
К примеру, если не хотите отдельную базу поднимать, то можно локально помечать данные, которые не ушли вам в базу.
Если локальные данные равны данным в базе, то локальные данные чистить, а если нет, то подгружать к себе, а потом чистить.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
yarkov
@yarkov
https://github.com/yarkovaleksei/toster-extension
Как в таких случаях поступают?

Пишут в БД?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Сравни.ру Москва
от 150 000 руб.
IWU Нижний Новгород
от 150 000 до 250 000 руб.
Zeus Capital Москва
от 70 000 до 130 000 руб.