Хочу получить release (production) build. Я компилирую проект командой:
swift build -c release
захожу в папку:
.build/x86_64-unknown-linux-gnu/release
там выполняю:
sudo ./Run
А вот и сам вопрос: почему мне код выдаёт, что я нахожусь в development среде?
Какой код? А вот такой:
import Vapor
public func configure(_ app: Application) throws {
switch app.environment {
case .production:
print("LALALA 1")
case .development:
print("LALALA 2") // Почему здесь?
case .testing:
print("LALALA 3")
default:
print("LALALA 4")
}
}
передай ему --env production
Скомпилено в релиз, но запущено как дебаг
релизный билд не определяет окружение
А как вот это правильно написать: sudo sh --env production /home/king/release/Run ?
sudo /home/king/release/Run --env production
Нет, без sudo: [ WARNING ] bind(descriptor:ptr:bytes:): Permission denied (errno: 13) Swift/ErrorType.swift:200: Fatal error: Error raised at top level: bind(descriptor:ptr:bytes:): Permission denied (errno: 13) и всякое другое (backtrace)
sudo setcap CAP_NET_BIND_SERVICE=+eip /home/king/release/Run
Выглядит страшно... Что это?
Эта команда даёт временный эффект, там потом идёт закрытие с просьбой увеличить timeout.
Какой timeout? Это никак не связано. Ошибку показивай
Сейчас, её еще воспроизвести нужно...
Там есть какая-то команда... noflip кажется...
nohup, и она просто игнорит SIGHUP
Сорян, спутал значит
sighup останавливает выполнение когда выходишь с консоли
Коннекшенов к базе, как мы выяснили тут пару дней назад, в вапоре по умолчанию адын. Если у тебя идет какой-то долгий запрос к базе, то второй запрос встаёт в очередь и ждет. И не всегда дожидается. Возможно, ошибка говорит именно о такой ситуации.
Хмм... Ну, дождусь повторения, лишь бы это не краш...
Сорри, но это неправильный вывод. Один коннекшен к базе в серверном приложении, способном обработать одновременно сотни и тысячи запросов — недостаточно. Правильный вывод — отмотать чатик назад и посмотреть, как увеличить число коннекшенов.
Да, я хотел увеличить число этих соединений, но потом передумал... Их же не просто так по умолчанию так мало... Может, так и надо...
И это тоже обсуждалось. Именно что "просто так". Нет, так не надо. Да, надо увеличивать.
Этот момент я видимо понял хуже 😅
Кирилл там был вполне категоричен ;)
Обсуждают сегодня