LINUX.ORG.RU
ФорумTalks

Node.js. Падение Олимпа.

 , , , ,


0

3

Сегодня упало. Сильно. Делал обновление сервера из git, имеются измененные файлы конфигурации, git pull через grunt task не дал обновить.

По ошибке выполнил как раньше grunt task revert2Git, который отменяет все локальные изменения. А каталог db для баз данных LevelDB был в git с .gitignore, игнорирующим все файлы,кто самого .gitignore. Типа сеньор захотел, чтобы при первом git pull они создавались автоматом.

Ну и его содержимое успешно грохнулись.Такие дела.

Поэтому вопросы: 1) Нужно/можно ли ее хранить db в одном каталоге с Node.JS? 2) Где тогда лучше держать базы данных для LevelDB?

3) Какие права ставить на ту папку?

Зы. Какие тут c10k, если к узкоспециализированной технологии допускают таких криворуких студентов, как я.

Зы.зы. Мне уже нужно писать увольнительную?

Зы.зы.зы. При клиент - сервере такой фигни не было.

Зы.зы.зы.зы. На что б еще такое перейти, чтобы задержать внедрение в продакшн на 3-4 месяца?



Последнее исправление: EnterpriseMobility (всего исправлений: 1)

Понаделают блоатвари, а потом все у них падает.

buddhist ★★★★★
()

Угадал автора по сабжу.

Stil ★★★★★
()

Бекапы?

Deleted
()
Ответ на: комментарий от Vit

И да, на винфаке мне сообщили, что в Windows 7 есть механизм восстановления предыдущих версий. А на stackoverflow мне сказали, что все, что удаляет git, восстановить уже больше нельзя.

EnterpriseMobility
() автор топика

Node.JS
LevelDB
Сегодня упало. Сильно

Странно что только сейчас кактус стал колоться

Siado ★★★★★
()
Ответ на: комментарий от EnterpriseMobility

И да, на винфаке мне сообщили, что в Windows 7 есть механизм восстановления предыдущих версий

Для этого надо «точки восстановления» делать

Siado ★★★★★
()

Толсто. А так, уволить тебя надо за отсутствие бэкапа.

zloelamo ★★★★
()
Ответ на: комментарий от EnterpriseMobility

А сам LevelDB не предлагает какой-то разумный дефолт вроде /var/spool для хранения баз? Или это что-то вроде sqlite?

MrClon ★★★★★
()

Спроси сеньора т.к. иначе велик риск что наше предложение будем им отвергнуто. Кстати, возможные варианты решения проблемы ты уже перечислил. Я бы тупо настроил так чтобы git не трогал заигноренные файлы. А ещё, для извращенцев, можно в папке с leveldb создать вложенный гит-репозиторий. Тогда внешний гит, вроде, не будет его трогать. В общем, погугли про вложенные репозитории.

true_admin ★★★★★
()
Ответ на: комментарий от EnterpriseMobility

в каком месте держат каталоги LevelDB в продакшене?

Директории leveldb всегда нужен rw-доступ. Можно хоть в соседней директории, рядом с директорией билда, можно в другом месте. Где хочешь, там и держи, главное — права доступа выставить.

Типа сеньор захотел, чтобы при первом git pull они создавались автоматом.

Сеньор спорол херню, а ты молча исполнил. В следующий раз предложит выйти в окно с пятого этажа, ты пойдёшь? У leveldb есть флаг create_if_missing для создания пустой базы на месте пустоты. На эрланге:

{ok, Ref} = open("/tmp/eleveldb.close_fold.test", [{create_if_missing, true}])
ok = eleveldb:put(Ref, <<"k">>,<<"v">>,[])
Если есть какие-то начальные данные, то написать код заливки этих данных в отдельном исходнике, вызываемом ручками при первом старте.

shahid ★★★★★
()

Зы.зы.зы.зы

Правильно писать З.З.З.З.Ы.

i-rinat ★★★★★
()

Делал обновление сервера из git

в Linux для обновления/установки придумали пакетные менеджеры. В инфраструктуре java есть понятие деплой и нормальные срадства для него. С большой долей вероятности и для вашего «продукта», есть средства для нормального обновления, а не git.

vtVitus ★★★★★
()
Ответ на: комментарий от vtVitus

К линуксовским пакетам это не имеет никакого отношения. Node.js - это кроссплатформенный продукт, а под Windows их нет. В Node.js есть свой пакетный менеджер npm, но он обычно применяется для установки библиотек-зависимостей твоего приложения. Мой rest сервис не оформлен как npm пакет. Это не библиотека, а готовое приложение.

EnterpriseMobility
() автор топика

Теперь внесёшь в скрипт делающий обновление создание бекапа, перед обновлением. Обновление - вещь потенциально опасная.

Napilnik ★★★★★
()
Ответ на: комментарий от Oxdeadbeef

Только не понятно, причем тут гит.

Должны страдать те, кто использует VCS как механизм деплоя. КМК, малограмотные фанбои git делают это особенно часто.

tailgunner ★★★★★
()
Ответ на: комментарий от Weres

энтузиазм уже упал. Сегодня внедрил Log4Net в дотнетовский клиент. репликация LevelDB стоит на месте, нихрена не понимаю, как оно должно работать.

В commit-msg hook сегодня правило поставили - обязательно или номер тикета или номер бэклога.

Все очень рады.

Зы. Постоянно хочу спать.

EnterpriseMobility
() автор топика
Ответ на: комментарий от EnterpriseMobility

альтернативы для Node.js? npm update?

Стандартная система деплоя. Что является стандартом гля JS или венды - ХЗ.

tailgunner ★★★★★
()
Ответ на: комментарий от EnterpriseMobility

Ну так вас же учиться брали. При обучении внезапные штуки случаются. Да и после оного тоже. Трудные моменты должны разъяснятся опытными программистами. Но я так чую, что у вас там веселье уровня стартапа (такое бывает и в серьезных фирмах) так что остается просто не заморачиваться.

Weres ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.