goland服务热重启的配置文件

开发web api或web项目,修改源码后,无需手动重启即可查看效果,使用air即可实现。

安装air:go get -v -u github.com/cosmtrek/air(或下载所有源码后,go build,得到air.exe,拷贝到$goroot/bin目录)

在项目目录下,创建.air.config文件,修改[build]中的cmd配置,设置为goland编译程序的命令行命令:

cmd = "go build -o ./tmp/xxx-demo.exe ./main.go"

最终配置文件如下:

# Config file for [Air](https://github.com/cosmtrek/air) in TOML format

# Working directory
# . or absolute path, please note that the directories following must be under root.
root = "."
tmp_dir = "tmp"

[build]
# Just plain old shell command. You could use `make` as well.
cmd = "go build -o ./tmp/xxx-demo.exe ./main.go"
# Binary file yields from `cmd`.
bin = "tmp/xxx-demo.exe"
# Customize binary.
full_bin = "APP_ENV=dev APP_USER=air ./tmp/main"
# Watch these filename extensions.
include_ext = ["go", "tpl", "tmpl", "html"]
# Ignore these filename extensions or directories.
exclude_dir = ["assets", "tmp", "vendor", "frontend/node_modules"]
# Watch these directories if you specified.
include_dir = []
# Exclude files.
exclude_file = []
# It's not necessary to trigger build each time file changes if it's too frequent.
delay = 1000 # ms
# Stop to run old binary when build errors occur.
stop_on_error = true
# This log file places in your tmp_dir.
log = "air_errors.log"

[log]
# Show log time
time = false

[color]
# Customize each part's color. If no color found, use the raw app log.
main = "magenta"
watcher = "cyan"
build = "yellow"
runner = "green"

[misc]
# Delete tmp directory on exit
clean_on_exit = true

goland中打开项目,在Terminal中运行air命令,即可自动监控项目代码修改,自动热启动服务,方便开发调试。

到此这篇关于goland服务热重启的文章就介绍到这了,更多相关goland热重启内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Go 实现热重启的详细介绍

    最近在优化公司框架 trpc 时发现了一个热重启相关的问题,优化之余也总结沉淀下,对 go 如何实现热重启这方面的内容做一个简单的梳理. 1.什么是热重启? 热重启(Hot Restart),是一项保证服务可用性的手段.它允许服务重启期间,不中断已经建立的连接,老服务进程不再接受新连接请求,新连接请求将在新服务进程中受理.对于原服务进程中已经建立的连接,也可以将其设为读关闭,等待平滑处理完连接上的请求及连接空闲后再行退出.通过这种方式,可以保证已建立的连接不中断,连接上的事务(请求.处理.响应)

  • 解析Go 标准库 http.FileServer 实现静态文件服务

    http.FileServer 方法属于标准库 net/http,返回一个使用 FileSystem 接口 root 提供文件访问服务的 HTTP 处理器.可以方便的实现静态文件服务器. http.ListenAndServe(":8080", http.FileServer(http.Dir("/files/path"))) 访问 http://127.0.0.1:8080,即可看到类似 Nginx 中 autoindex 目录浏览功能. 源码解析 我们现在开始将

  • 在Go中构建并发TCP服务器

    开发一个并发TCP服务器,该服务器仅使用大约65行GO代码生成随机数. TCP和UDP服务器随处可见,通过TCP/IP网络为网络客户端提供服务.在本文中,我将在GO编程语言,返回随机数.对于来自TCP客户端的每个传入连接,TCP服务器将启动一个新的goroutine来处理该请求. 你可以找到这个项目,concTCP.go,在GitHub上. 处理TCP连接 程序的逻辑可以在handleConnection()职能,其实现方式如下: func handleConnection(c net.Conn

  • MongoDB4.0在windows10下的安装与服务配置教程详解

    本地安装及网页测试 1.在官网下载最新的安装文件 下载地址 : https://www.mongodb.com/download-center#community 可以在MongoDB官网选择Community Server版本下载,但是它似乎经常没有响应.可以在这里直接选择需要的版本下载,要在Windows下安装可以直接选msi安装文件. 安装msi文件 下载好后,一致next,在中间一步选择 custom 选项,以选定自己喜好的安装位置 修改安装路径. 这个MSI文件有问题,这里必须不能改动

  • 详解如何热重启golang服务器

    服务端代码经常需要升级,对于线上系统的升级常用的做法是,通过前端的负载均衡(如nginx)来保证升级时至少有一个服务可用,依次(灰度)升级. 而另一种更方便的方法是在应用上做热重启,直接升级应用而不停服务. 原理 热重启的原理非常简单,但是涉及到一些系统调用以及父子进程之间文件句柄的传递等等细节比较多. 处理过程分为以下几个步骤: 监听信号(USR2) 收到信号时fork子进程(使用相同的启动命令),将服务监听的socket文件描述符传递给子进程 子进程监听父进程的socket,这个时候父进程和

  • Go语言的http/2服务器功能及客户端使用

    前言 大家都知道,Go的标准库HTTP服务器默认支持HTTP/2.那么,在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用. 在这篇文章中,我们将首先展示Go的http/2服务器功能,并解释如何将它们作为客户端使用.Go的标准库HTTP服务器默认支持HTTP/2. 下面话不多说了,来一起看看详细的介绍吧 HTTP/2 服务器 首先,让我们在Go中创建一个http/2服务器!根据http/2文档,所有东西都是为我们自动配置的,我们甚至不需要导入Go的标准库ht

  • goland服务热重启的配置文件

    开发web api或web项目,修改源码后,无需手动重启即可查看效果,使用air即可实现. 安装air:go get -v -u github.com/cosmtrek/air(或下载所有源码后,go build,得到air.exe,拷贝到$goroot/bin目录) 在项目目录下,创建.air.config文件,修改[build]中的cmd配置,设置为goland编译程序的命令行命令: cmd = "go build -o ./tmp/xxx-demo.exe ./main.go"

  • Springboot教程之如何设置springboot热重启

    SpringBoot热重启步骤 1.打开点击pom.xml配置文件 2.找到配置文件节点 3.在节点中插入以下代码 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope> <optional>true</opti

  • Golang HTTP 服务平滑重启及升级的思路

    Golang HTTP服务在上线时,需要重新编译可执行文件,关闭正在运行的进程,然后再启动新的运行进程.对于访问频率比较高的面向终端用户的产品,关闭.重启的过程中会出现无法访问(nginx表现为502)的情况,影响终端用户的使用体验. 实现的一般思路 一般情况下,要实现平滑重启或升级,需要执行以下几个步骤: 发布新的bin文件覆盖老的bin文件 发送一个信号量(USR2),告诉正在运行的进程,进行重启 正在运行的进程接受到信号后,以子进程的方式启动新的bin文件 新进程接收并处理新的请求 老进程

  • SpringBoot热重启配置详解

    1.添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> 不能被其它模块继承,如果多个子模块可以去掉 不必须 <scope>runtime</scope> 只在运行时起作用 打包时不打进去

  • PowerShell重启服务命令Restart-Service详细介绍

    PowerShell重启服务(Restart-Service),使用PowerShell可以很方便的操作Windows系统服务,比如实现自动重启服务.本文就介绍如何使用PowerShell来重启服务,以及一些相关的内容.PowerShell中重启服务的cmdlet是Restart-Service,顾名思义就是把服务停止了再启动起来. PowerShell重启服务(Restart-Service) 使用PowerShell可以很方便的操作Windows系统服务,比如实现自动重启服务.本文就介绍如何

  • 阿里云k8s服务springboot项目应用升级时出现502错误

    随着小步快跑.快速迭代的开发模式被越来越多的互联网企业认同和采用,应用的变更.升级频率变得越来越频繁.为了应对不同的升级需求,保证升级过程平稳顺利地进行,诞生了一系列的部署发布模式. 停机发布 - 把老版的应用实例完全停止,再发布新的版本.这种发布模式主要为了解决新老版本互不兼容.无法共存的问题,缺点是一段时间内服务完全不可用. 蓝绿发布 - 在线上同时部署相同数量的新老版本应用实例.待新版本测试通过后,将流量一次性地切到新的服务实例上来.这种发布模式解决了停机发布中存在的服务完全不可用问题,但

  • SpringCloud微服务应用config配置中心详解

    目录 前言 一.传统应用配置痛点 二.Config 配置中心介绍 三.服务端Config Server搭建 1.pom依赖 2.application启动类配置 3.application.yml配置 4.test-dev.xml(客户端应读取的配置) 5.项目结构 四.客户端Config Client搭建 1.pom依赖 2.application启动类配置 3.bootstrap.yml配置 4.application.yml配置 5.测试controller 6.项目结构 五.动态刷新 六

  • SpringCloud 分布式微服务架构操作步骤

    目录 前言 SpringCloud微服务 单体架构和微服务分布式架构 单体架构分析 微服务分布式架构分析 服务拆分和远程调用 服务拆分 案例需求准备 远程调用初步 Eureka注册中心 服务注册与负载均衡 服务注册 Ribbon负载均衡 指定负载均衡规则 Nocas 注册中心 环境配置启动服务注册 Nacos 分级存储模型与集群 负载均衡 namespace 环境隔离 统一配置管理与热更新 前言 这篇笔记文章我还是没有接上之前的java,因为我中间偷懒了,写不动了.打算先把这篇安排下,然后再把之

随机推荐