package reload import ( "fmt" "math/rand" "sync" "time" "github.com/coredns/caddy" "github.com/coredns/coredns/plugin" clog "github.com/coredns/coredns/plugin/pkg/log" ) var log = clog.NewWithPlugin("reload") func init() { plugin.Register("reload", setup) } // the info reload is global to all application, whatever number of reloads. // it is used to transmit data between Setup and start of the hook called 'onInstanceStartup' // channel for QUIT is never changed in purpose. // WARNING: this data may be unsync after an invalid attempt of reload Corefile. var ( r = reload{dur: defaultInterval, u: unused, quit: make(chan bool)} once, shutOnce sync.Once ) func setup(c *caddy.Controller) error { c.Next() // 'reload' args := c.RemainingArgs() if len(args) > 2 { return plugin.Error("reload", c.ArgErr()) } i := defaultInterval if len(args) > 0 { d, err := time.ParseDuration(args[0]) if err != nil { return plugin.Error("reload", err) } i = d } if i < minInterval { return plugin.Error("reload", fmt.Errorf("interval value must be greater or equal to %v", minInterval)) } j := defaultJitter if len(args) > 1 { d, err := time.ParseDuration(args[1]) if err != nil { return plugin.Error("reload", err) } j = d } if j < minJitter { return plugin.Error("reload", fmt.Errorf("jitter value must be greater or equal to %v", minJitter)) } if j > i/2 { j = i / 2 } jitter := time.Duration(rand.Int63n(j.Nanoseconds()) - (j.Nanoseconds() / 2)) i = i + jitter // prepare info for next onInstanceStartup event r.setInterval(i) r.setUsage(used) once.Do(func() { caddy.RegisterEventHook("reload", hook) }) // re-register on finalShutDown as the instance most-likely will be changed shutOnce.Do(func() { c.OnFinalShutdown(func() error { r.quit <- true return nil }) }) return nil } const ( minJitter = 1 * time.Second minInterval = 2 * time.Second defaultInterval = 30 * time.Second defaultJitter = 15 * time.Second ) ions'>completions Unnamed repository; edit this file 'description' to name the repository.
aboutsummaryrefslogtreecommitdiff
path: root/src/linux_c.zig (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2023-04-07Fix trailing slash bug in upload scriptGravatar Ashcon Partovi 1-1/+1
2023-04-07Fix environment variables in workflowGravatar Ashcon Partovi 2-4/+4
2023-04-07Upload releases to S3Gravatar Ashcon Partovi 5-1/+171
2023-04-07Add TSConfig object type to TranspilerOptions interface (#2545)Gravatar Jake Boone 1-1/+21
2023-04-07chore: simplify prettier command and cache (#2589)Gravatar hiroki osame 1-1/+1
2023-04-07`FileBlob` -> `BunFile`, add `BunFile.lastModified` (#2581)Gravatar Colin McDonnell 4-77/+119
2023-04-07feat(tls.Server) basic support (cert, key, rejectUnauthorized, requestCert, c...Gravatar Ciro Spaciari 23-10346/+13923
2023-04-06Proactively add these to the listGravatar Jarred Sumner 1-0/+2
2023-04-06BumpGravatar Jarred Sumner 1-1/+1
2023-04-06fix: export `constants` from `fs/promises` (#2567)Gravatar dave caruso 6-6/+14
2023-04-06docs: add a section on uninstalling bun (#2560)Gravatar dave caruso 1-0/+8
2023-04-06docs(cli/bunx): add notice (#2574)Gravatar Jozef Steinhübl 1-0/+4
2023-04-06Fix `toEqual` when the second array has extra array holes (#2580)Gravatar Dylan Conway 3-18/+76
2023-04-06Add last modify field "mtime" for FileBlob (#1431) (#2491)Gravatar Zhongwei Yao 6-33/+128
2023-04-06bun-types: infer strict `Subprocess` from `Bun.spawn()` options, part 2 (#2573)Gravatar dave caruso 9-67/+165
2023-04-06cache needs to update, move to another process (#2578)Gravatar Dylan Conway 2-156/+171
2023-04-06fix(ws): export Server (#2575)Gravatar hiroki osame 1-13/+30
2023-04-06docs(CONTRIBUTING): referece development guide (#2576)Gravatar hiroki osame 1-1/+5
2023-04-05rebase (#1501)Gravatar dave caruso 2-144/+305
2023-04-05Update `typecheck` (#2572)Gravatar Colin McDonnell 3-4/+8
2023-04-05prependGravatar Jarred Sumner 1-7/+3
2023-04-05Add tests for `bun test` with preload scripts (#2566)Gravatar Jake Boone 2-1/+107
2023-04-05Disable buffering when we clear terminalGravatar Jarred Sumner 1-0/+2
2023-04-05PrettierGravatar Jarred Sumner 3-4/+4
2023-04-05fix(fetch.proxy) fix proxy authentication (#2554)Gravatar Ciro Spaciari 3-31/+186
2023-04-05fix: build warnings (#2562)Gravatar hiroki osame 4-4/+1
2023-04-05In Documentation, move --watch before the script name (#2569)Gravatar Lawlzer 1-4/+5
2023-04-05fix `deepEquals` with array holes and accessors (#2557)Gravatar Dylan Conway 2-10/+249
2023-04-05fix: modules to have null prototype (#2561)Gravatar hiroki osame 2-2/+9
2023-04-04:clock1: :clock2: :clock3:Gravatar Jarred Sumner 1-1/+1
2023-04-04Implement `import.meta.main` (#2556)Gravatar Jarred Sumner 10-8/+89
2023-04-04Dylan/fix some failing tests (#2544)Gravatar Jarred Sumner 10-29/+72
2023-04-04Add npm benchmark (#2555)Gravatar Colin McDonnell 13-1/+271
2023-04-03Use absolute paths morebun-v0.5.9Gravatar Jarred Sumner 2-6/+11
2023-04-03Fix test failureGravatar Jarred Sumner 1-15/+18