30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
-
+
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
|
(lambda ()
(let loop ((count 300)) ;; add 100 jobs
(add-job "normal" "m" 600 1 1)
(if (> count 0)(loop (- count 1))))))
;; every minute user j runs ten jobs
;;
(define *user-j-jobs* 500)
(define *user-j-jobs* 300)
(event (+ 600 *start-time*)
(lambda ()
(let f ()
(schedule 60)
(if (> *user-j-jobs* 0)
(begin
(let loop ((count 10)) ;; add 100 jobs
(let loop ((count 5)) ;; add 100 jobs
(add-job "quick" "j" 600 1 1)
(if (> count 0)(loop (- count 1))))
(set! *user-j-jobs* (- *user-j-jobs* 10))))
(set! *user-j-jobs* (- *user-j-jobs* 5))))
(if (and (not *done*)
(> *user-j-jobs* 0))
(f))))) ;; Megatest user running 200 jobs
;; every minute user j runs ten jobs
;;
(define *user-j-jobs* 300)
(event (+ 630 *start-time*)
(lambda ()
(let f ()
(schedule 60)
(if (> *user-j-jobs* 0)
(begin
(let loop ((count 5)) ;; add 100 jobs
(add-job "quick" "n" 600 1 1)
(if (> count 0)(loop (- count 1))))
(set! *user-j-jobs* (- *user-j-jobs* 5))))
(if (and (not *done*)
(> *user-j-jobs* 0))
(f))))) ;; Megatest user running 200 jobs
;; ;;
;; (event *start-time*
;; (lambda ()
;; (let f ((count 200))
;; (schedule 10)
;; (add-job "normal" "t" 60 1 1)
;; (if (and (not *done*)
;; (>= count 0))
;; (f (- count 1))))))
;; every 3 seconds check for available machines and launch a job
;;
(event *start-time*
(lambda ()
(let f ()
(schedule 3)
(let ((queue-names (hash-table-keys *queues*)))
(let ((queue-names (random-sort (hash-table-keys *queues*))))
(let loop ((cpu (get-cpu))
(count (+ (length queue-names) 4))
(qname (car queue-names))
(remq (cdr queue-names)))
(if (and cpu
(> count 0))
(begin
|