Compare commits
	
		
			2 Commits
		
	
	
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | d5519cc064 | ||
|   | f2a0830ca1 | 
							
								
								
									
										19
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								README.md
									
									
									
									
									
								
							| @ -7,28 +7,39 @@ cycle-scheduler is a simple scheduler lib, handling tasks and executes them at r | ||||
| ## Examples | ||||
| * Init a new scheduler with 4 workers | ||||
| ```go | ||||
| package main | ||||
| 
 | ||||
| import ( | ||||
| 	"context" | ||||
| 	"time" | ||||
| 
 | ||||
| 	scheduler "gitea.thegux.fr/rmanach/cycle-scheduler.git" | ||||
| ) | ||||
| 
 | ||||
| ctx := context.Background() | ||||
| func main() { | ||||
| 	ctx, fnCancel := context.WithCancel(context.Background()) | ||||
| 	s := scheduler.NewSchedulerCycle(ctx, 4) | ||||
| 
 | ||||
| 	// add a task with an execution interval of 2 ms (executed every 2 ms) | ||||
| 	// and a maximum duration of 30 second. | ||||
| taskID := s.Delay( | ||||
| 	s.Delay( | ||||
| 		func(ctx context.Context) (any, error) { | ||||
| 			// ... | ||||
| 		return any, nil | ||||
| 			return nil, nil | ||||
| 		}, | ||||
| 		scheduler.WithExecInterval(2*time.Millisecond), | ||||
| 	scheduler.WithMaxDuration(30*time.Second) | ||||
| 		scheduler.WithMaxDuration(30*time.Second), | ||||
| 	) | ||||
| 
 | ||||
| 	// stop the program after 5 seconds | ||||
| 	go func() { | ||||
| 		time.Sleep(5 * time.Second) | ||||
| 		fnCancel() | ||||
| 	}() | ||||
| 
 | ||||
| 	<-ctx.Done() | ||||
| 	<-s.Done() | ||||
| } | ||||
| ``` | ||||
| 
 | ||||
| **NOTE**: for `Delay` optionals arguments, check the `NewTask` method documentation for more details. | ||||
|  | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user