コード例 #1
0
ファイル: worker.go プロジェクト: jrivets/gazer
func (w *worker) Undeploy(app spi.Application) error {
	w.wc.logger.Info("worker.Undeploy(): w=", w)
	if w.desc.Aid != app.Id() {
		return errors.New("Cannot undeploy application: expected Id=" + string(app.Id()) + ", but actual one is " + string(w.desc.Aid))
	}

	if err := w.setSA(WS_UNDEPLOYING, spi.NO_APP_ID); err != nil {
		return err
	}
	instance := w.instance()
	if err := app.Undeploy(instance); err != nil {
		w.wc.logger.Warn("worker.Undeploy(): got unexpected error=", err, ", ignoring it")
	}
	go func() {
		instance.Stop()
		w.startInstance(true)
	}()

	return nil
}