Size: a a a

2020 July 29

ОЭ

Орб Экксель... in Go-go!
Евгений Омельченко
Обработать SIGTERM
Этот сигнал придёт если просто закрыть программу через правую кнопку или как-то через cmd?
источник

с

сонная википедия... in Go-go!
Евгений Омельченко
@tdakkota, удивительно, но даже список пишется. https://play.golang.org/p/lwj_L2jE-Dt
и гетерогенный можно сделать, в принципе
только типы проверяться не будут ¯\_(ツ)_/¯

а вот на go2go можно
источник

с

сонная википедия... in Go-go!
Орб Экксель
Этот сигнал придёт если просто закрыть программу через правую кнопку или как-то через cmd?
на винде сигналов как таковых нет, они там эмулируются
источник

ЕО

Евгений Омельченко... in Go-go!
сонная википедия
и гетерогенный можно сделать, в принципе
только типы проверяться не будут ¯\_(ツ)_/¯

а вот на go2go можно
На go2go можно полноценный ADT построить
источник

ОЭ

Орб Экксель... in Go-go!
Я думал как-то посылать ей сигнал о прекращении работы. Но не пойму как это лучше сделать,  через веб-сервер, конфиг, который обновляется в реалтайме или как-то иначе
источник

D

Denis in Go-go!
Орб Экксель
Я думал как-то посылать ей сигнал о прекращении работы. Но не пойму как это лучше сделать,  через веб-сервер, конфиг, который обновляется в реалтайме или как-то иначе
k8s или аналог, остальное костыли
источник

ЕО

Евгений Омельченко... in Go-go!
Орб Экксель
Я думал как-то посылать ей сигнал о прекращении работы. Но не пойму как это лучше сделать,  через веб-сервер, конфиг, который обновляется в реалтайме или как-то иначе
А как вы запускаете и деплоите приложение?
источник

ОЭ

Орб Экксель... in Go-go!
Евгений Омельченко
А как вы запускаете и деплоите приложение?
Заходим на сервер и запускаем экзешник
источник

ЕО

Евгений Омельченко... in Go-go!
Это винда?
источник

ОЭ

Орб Экксель... in Go-go!
Да
источник

М

Михаил in Go-go!
Kai Ren
И чем он там тебе не Гошный type switch?
Этим
Shape shape = new Rectangle
{
 Width = 100,
 Height = 100,
 Point = new Point { X = 0, Y = 100 }
};
var result = shape switch
{
 Rectangle (100, 100, null) => "Found 100x100 rectangle without a point",
 Rectangle (100, 100, _) => "Found 100x100 rectangle",
 _ => "Different, or null shape"
};
источник

ЕО

Евгений Омельченко... in Go-go!
Ох, тогда даже и не знаю. Ничем не могу помочь, правда
источник

М

Михаил in Go-go!
В го так нельзя
источник

ЕО

Евгений Омельченко... in Go-go!
Михаил
Этим
Shape shape = new Rectangle
{
 Width = 100,
 Height = 100,
 Point = new Point { X = 0, Y = 100 }
};
var result = shape switch
{
 Rectangle (100, 100, null) => "Found 100x100 rectangle without a point",
 Rectangle (100, 100, _) => "Found 100x100 rectangle",
 _ => "Different, or null shape"
};
Это же на самом деле компилируется в if Point != null, синтаксический сахар
источник

D

Denis in Go-go!
Орб Экксель
Я думал как-то посылать ей сигнал о прекращении работы. Но не пойму как это лучше сделать,  через веб-сервер, конфиг, который обновляется в реалтайме или как-то иначе
ctrl+c это sigint, значит жми ctrl+c а в коде лови sigint и делай graceful shutdown
С учетом твоих вводных про ручной запуск экзешника
источник

ЕО

Евгений Омельченко... in Go-go!
В хаскеле это было бы даже не паттерн-матчингом, а тайп-гвардом, чтобы не вводить в заблуждение
источник

ЕО

Евгений Омельченко... in Go-go!
Denis
ctrl+c это sigint, значит жми ctrl+c а в коде лови sigint и делай graceful shutdown
С учетом твоих вводных про ручной запуск экзешника
А в винде есть ctrl+c и sigint?
источник

D

Denis in Go-go!
Евгений Омельченко
А в винде есть ctrl+c и sigint?
Хороший вопрос
источник

DP

Daniel Podolsky in Go-go!
но задачу надо точнее сформулировать
источник

DP

Daniel Podolsky in Go-go!
Орб Экксель
Подскажите, есть программа на go, она слушает сервер и мне надо в неё внести изменения, но при этом её отключение нежелательно, т.к. часть данных может потеряться. Как в таком случае лучше сделать внесение изменений?
это уже существующая программа и она уже запущена?

тогда все зависит от данных

возможно, получится запустить новую на другом порту, и потом перекинуть трафик файрволом
источник