Heim >Backend-Entwicklung >Golang >Kann Golang im laufenden Betrieb aktualisiert werden?

Kann Golang im laufenden Betrieb aktualisiert werden?

尚
Original
2020-03-27 11:13:245105Durchsuche

Kann Golang im laufenden Betrieb aktualisiert werden?

Golang kann im laufenden Betrieb aktualisiert werden.

Werfen wir einen Blick auf die Verwendung von go+realize zum Implementieren von Hot-Updates:

Realize installieren

Weil im vorherigen Projekt Gin ist als Webframework installiert, daher wurden die Routen für spätere Tests geschrieben.

go get github.com/oxequa/realize

Während der Installation werden Sie möglicherweise aufgefordert, ein bestimmtes Paket nicht zu installieren (beginnend mit golang.org). Diese Pakete können aus dem Golang-Warehouse geklont und in $GOPATH/src abgelegt werden /golang.org /x-Verzeichnis.

Konfiguration

Führen Sie „realise init“ für eine schrittweise Konfiguration aus. Sie können auch ständig die Eingabetaste drücken und dann auf meine Konfiguration zugreifen und diese ändern Name und Pfad unter dem Schema. Bitte schreiben Sie entsprechend der tatsächlichen Situation. Wenn es sich bei Ihrem Computer um einen Mac handelt, ersetzen Sie bitte den Befehl zum Beenden des Prozesses durch pkill. Dieser Schritt ist sehr wichtig, da Gin sonst beim Neukompilieren immer wieder eine solche Meldung ausgibt, was dazu führt, dass das Hot-Update fehlschlägt.

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

Ändern Sie das Realisierungspaket

Führen Sie die folgenden Befehle nacheinander aus

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

Gehen Sie in das Projektverzeichnis und führen Sie „realise start“ aus normal.

Weitere Golang-Kenntnisse finden Sie in der Spalte Golang-Tutorial auf der chinesischen PHP-Website.

Das obige ist der detaillierte Inhalt vonKann Golang im laufenden Betrieb aktualisiert werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Sind Golang und Go dasselbe?Nächster Artikel:Sind Golang und Go dasselbe?