From 925db35646363f7adcb151c01ed1e212ce23b883 Mon Sep 17 00:00:00 2001 From: Henrik Hautakoski Date: Mon, 17 Jan 2022 13:56:32 +0100 Subject: [PATCH] Add cli option and functionality to write PID file. --- go.mod | 1 + go.sum | 4 ++++ main.go | 12 ++++++++++++ 3 files changed, 17 insertions(+) diff --git a/go.mod b/go.mod index 7cc07b8..00460dd 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.14 require ( github.com/eoscanada/eos-go v0.10.1-0.20220112183548-39fba816311f github.com/eosswedenorg-go/eos-ship-client v0.0.0-20220113161228-7007edec3bb4 + github.com/eosswedenorg-go/pid v1.0.1 github.com/go-redis/redis/v8 v8.11.4 github.com/pborman/getopt/v2 v2.1.0 ) diff --git a/go.sum b/go.sum index 992b651..c2e5a69 100644 --- a/go.sum +++ b/go.sum @@ -23,6 +23,8 @@ github.com/eoscanada/eos-go v0.10.1-0.20220112183548-39fba816311f h1:IYqtCoi9kur github.com/eoscanada/eos-go v0.10.1-0.20220112183548-39fba816311f/go.mod h1:dKlu/HXNPI4I5yD7cITTwzfYLNfVaaFt9Y4VngtnhrY= github.com/eosswedenorg-go/eos-ship-client v0.0.0-20220113161228-7007edec3bb4 h1:ndwu3rC6iuW3cMIqnzBprUnFjbvu50evaiuaMcISwTk= github.com/eosswedenorg-go/eos-ship-client v0.0.0-20220113161228-7007edec3bb4/go.mod h1:CeLc0kNIEsJOdiafqrJQynbXfsRauvC2B6sRnR+PaOU= +github.com/eosswedenorg-go/pid v1.0.1 h1:W4AEnnNwb041SpNR1uTZ/KbJ0OTA5eqiqIR1Q5Ah6A0= +github.com/eosswedenorg-go/pid v1.0.1/go.mod h1:wiOB/JXGt4YA3+T0j0xmCGSc3Jxzb7Ti/Ftli1fgWu4= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= @@ -107,6 +109,7 @@ github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UV github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4= github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf h1:Z2X3Os7oRzpdJ75iPqWZc0HeJWFYNCvKsfpQwFpRNTA= github.com/teris-io/shortid v0.0.0-20171029131806-771a37caa5cf/go.mod h1:M8agBzgqHIhgj7wEn9/0hJUZcrvt9VY+Ln+S1I5Mha0= github.com/test-go/testify v1.1.4 h1:Tf9lntrKUMHiXQ07qBScBTSA0dhYQlu83hswqelv1iE= @@ -271,6 +274,7 @@ gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= diff --git a/main.go b/main.go index 8d250a6..e25d816 100644 --- a/main.go +++ b/main.go @@ -9,6 +9,7 @@ import ( "log" "time" "github.com/pborman/getopt/v2" + "github.com/eosswedenorg-go/pid" eos "github.com/eoscanada/eos-go" shipclient "github.com/eosswedenorg-go/eos-ship-client" ) @@ -84,6 +85,7 @@ func main() { showHelp := getopt.BoolLong("help", 'h', "display this help text") showVersion := getopt.BoolLong("version", 'v', "display this help text") configFile := getopt.StringLong("config", 'c', "./config.json", "Config file to read", "file") + pidFile := getopt.StringLong("pid", 'p', "", "Where to write process id", "file") getopt.Parse() @@ -97,6 +99,16 @@ func main() { return } + // Write PID file + if len(*pidFile) > 0 { + log.Printf("Writing pid to: %s", *pidFile) + err = pid.Save(*pidFile) + if err != nil { + log.Println(err) + return + } + } + // Parse config config, err = LoadConfig(*configFile) if err != nil {