Maison  >  Article  >  développement back-end  >  Golang peut-il être mis à jour à chaud ?

Golang peut-il être mis à jour à chaud ?

尚
original
2020-03-27 11:13:245034parcourir

Golang peut-il être mis à jour à chaud ?

golang peut être mis à jour à chaud.

Jetons un coup d'œil à l'utilisation de go+realize pour implémenter des mises à jour à chaud :

Installer realize

Parce que dans le précédent Le projet Gin est installé en tant que framework Web, les routes ont donc été écrites pour des tests ultérieurs.

go get github.com/oxequa/realize

Lors de l'installation, vous pouvez être invité à échouer dans l'installation d'un certain package (en commençant par golang.org). Ne paniquez pas. Ces packages peuvent être clonés depuis l'entrepôt golang et placés dans $GOPATH/src. /golang.org /x répertoire.

Configuration

Exécutez réaliser init pour une configuration étape par étape. Vous pouvez également appuyer sur Entrée tout le temps, puis vous référer à ma configuration et la modifier. nom et chemin sous le schéma Veuillez écrire en fonction de la situation réelle. Si votre machine est un Mac, veuillez remplacer la commande process kill par pkill. Cette étape est très importante, sinon Gin continuera à vous inviter ainsi lors de la recompilation, provoquant l'échec de la mise à jour à chaud.

[GIN-debug] [ERROR] listen tcp :8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted
rrree

Modifiez le package de réalisation

Exécutez les commandes suivantes dans l'ordre

settings:
  files:
    outputs:
      status: false
      path: ""
      name: .r.outputs.log
    logs:
      status: false
      path: ""
      name: .r.logs.log
    errors:
      status: true
      path: ""
      name: .r.errors.log
  legacy:
    force: false
    interval: 100ms
server:
  status: true
  open: false
  port: 8080
  host: http://localhost
schema:
- name: gin_app
  path: E:/WorkPlace/Go/app/gin_app/
  commands:
    # clean:
    #   status: true
    # vet:
    #   status: true
    # fmt:
    #   status: true
    # test:
    #   status: true
    # generate:
    #   status: true
    install:
      status: true
    # build:
    #   status: true
    run:
      status: true
  watcher:
    extensions:
    - go
    paths:
    - /
    scripts:
    - type: before
      command: tskill gin_app
      output: true
    ignored_paths:
    - .git
    - .realize
    - vendor

Allez dans le répertoire du projet et exécutez la mise à jour à chaud est également disponible. normale. .

Pour plus de connaissances sur Golang, veuillez faire attention à la colonne Tutoriel Golang sur le site Web PHP chinois.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn