Thank You all for the great examples!
I added a select {} at the end so the program will run forever. I am trying
to have it as a deamon.
On Thursday, February 23, 2017 at 6:37:12 AM UTC-5, Nathan Kerr wrote:
>
> NewTicker function example
>
> The task of running functions on a periodic basis can be split into two
> parts: timing and execution.
>
> A ticker solves the timing problem by providing a channel that get new
> input every period. Keeping the timing separate mitigates the impact of
> execution on the timing period (e.g., it won’t be execution time + sleep
> time)
>
> Execution can be solved by ranging over the ticker channel. The contents
> of the loop will be run for each input received from the ticker channel. If
> the loop executes in less than one period, the loop will execute every
> period.
>
> Since tickers use channels, the execution loop can be run anywhere, though
> they are frequently used in goroutines because the program is also doing
> something else.
>
> I would simplify Rodolfo’s examples to:
>
> package main
>
> import (
> "fmt"
> "time"
> )
>
> func square(x int) int {
> return x * x
> }
>
> func cube(x int) int {
> return x * x * x
> }
>
> func main() {
> ticker := time.NewTicker(5 * time.Second)
>
> for range ticker.C {
> fmt.Println(square(10))
> fmt.Println(cube(10))
> }
> }
>
> This will run square and cube every 5 seconds while the program is
> executing.
>
> On Thursday, February 23, 2017 at 2:39:12 AM UTC+1, Keith Brown wrote:
>>
>> Oddly, I can't find a single example on the world wide web for what I am
>> trying to do.
>>
>> I have 2 functions which I want to run on a periodic basis. The functions
>> are square and cube.
>> Here is my code so far. https://play.golang.org/p/akMxcg2Sra
>> But, I am not sure how to schedule these functions. I looked here,
>> https://gobyexample.com/tickers, but really isn't that helpful or
>> intuitive.
>>
>>
>>
>>
--
You received this message because you are subscribed to the Google Groups
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.