Made sure unix value is calculated
							parent
							
								
									2942793f40
								
							
						
					
					
						commit
						65d6aae701
					
				|  | @ -3,6 +3,7 @@ module cron | |||
| import git | ||||
| import datatypes | ||||
| import time | ||||
| import rand | ||||
| 
 | ||||
| struct ScheduledBuild { | ||||
| 	repo      git.GitRepo | ||||
|  | @ -14,42 +15,19 @@ fn (r1 ScheduledBuild) < (r2 ScheduledBuild) bool { | |||
| } | ||||
| 
 | ||||
| pub fn cron(conf Config) ? { | ||||
| 	// mut queue := datatypes.MinHeap<ScheduledBuild>{} | ||||
| 	// repos_map := git.get_repos(conf.address, conf.api_key) ? | ||||
| 	mut queue := datatypes.MinHeap<time.Time>{} | ||||
| 
 | ||||
| 	// for _, repo in repos_map { | ||||
| 	// 	scheduled := ScheduledBuild{ | ||||
| 	// 		repo: repo | ||||
| 	// 		timestamp: 25 | ||||
| 	// 	} | ||||
| 	for _ in 0..5000 { | ||||
| 		minute := rand.int_in_range(0, 60) ? | ||||
| 		hour := rand.int_in_range(0, 23) ? | ||||
| 		ce := parse_expression('$minute $hour') ? | ||||
| 
 | ||||
| 	// 	queue.insert(scheduled) | ||||
| 	// } | ||||
| 
 | ||||
| 	// println(queue) | ||||
| 	// exp := '10/2 5 *' | ||||
| 	// println(parse_expression(exp) ?) | ||||
| 	ce := parse_expression('0 35 */2') ? | ||||
| 	println(ce) | ||||
| 	// ce := CronExpression{ | ||||
| 	// 	minutes: [0] | ||||
| 	// 	hours: [3] | ||||
| 	// 	days: [1, 2, 3, 4, 5, 6] | ||||
| 	// 	months: [1, 2] | ||||
| 	// } | ||||
| 	mut t := time.Time{ | ||||
| 		year: 2022 | ||||
| 		month: 12 | ||||
| 		minute: 9 | ||||
| 		hour: 13 | ||||
| 		day: 12 | ||||
| 		t := ce.next_from_now() ? | ||||
| 		// println(t) | ||||
| 		queue.insert(t) | ||||
| 	} | ||||
| 
 | ||||
| 	// mut t := time.now() | ||||
| 	println(t) | ||||
| 
 | ||||
| 	for _ in 1 .. 25 { | ||||
| 		t = ce.next(t) ? | ||||
| 		println(t) | ||||
| 	for queue.len() > 0 { | ||||
| 		println(queue.pop() ?) | ||||
| 	} | ||||
| } | ||||
|  |  | |||
|  | @ -101,13 +101,13 @@ pub fn (ce &CronExpression) next(ref time.Time) ?time.Time { | |||
| 		year++ | ||||
| 	} | ||||
| 
 | ||||
| 	return time.Time{ | ||||
| 	return time.new_time(time.Time{ | ||||
| 		year: year | ||||
| 		month: month | ||||
| 		day: day | ||||
| 		minute: minute | ||||
| 		hour: hour | ||||
| 	} | ||||
| 	}) | ||||
| } | ||||
| 
 | ||||
| fn (ce &CronExpression) next_from_now() ?time.Time { | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue