REMOVE MULTITHREADING
This commit is contained in:
parent
3670f1fdff
commit
0e8e819ba8
3 changed files with 4 additions and 25 deletions
|
|
@ -1,7 +1,7 @@
|
|||
# Dependencies
|
||||
|
||||
- [CHICKEN Scheme](https://call-cc.org) 5 or 6;
|
||||
- A few CHICKEN extensions, installable using `chicken-install -s format html-parser openssl http-client matchable srfi-18`.
|
||||
- A few CHICKEN extensions, installable using `chicken-install -s format html-parser openssl http-client matchable`.
|
||||
|
||||
# Building
|
||||
|
||||
|
|
|
|||
24
rain.scm
24
rain.scm
|
|
@ -1,5 +1,3 @@
|
|||
(define parallel 1)
|
||||
|
||||
(define (find-comic-image index)
|
||||
(call-with-current-continuation
|
||||
(lambda (k)
|
||||
|
|
@ -20,24 +18,13 @@
|
|||
(format (current-error-port) "* downloaded comic image ~a~%" index))
|
||||
|
||||
(define (download-all indices)
|
||||
(format (current-error-port) "* using ~a threads~%" parallel)
|
||||
(for-each download-batch (chop indices parallel)))
|
||||
|
||||
(define (download-batch batch)
|
||||
(let ((threads (map (lambda (index)
|
||||
(make-thread
|
||||
(lambda ()
|
||||
(download-comic-image index))))
|
||||
batch)))
|
||||
(for-each thread-start! threads)
|
||||
(for-each thread-join! threads)))
|
||||
(for-each download-comic-image indices))
|
||||
|
||||
(define (usage)
|
||||
(format (current-error-port) "usage: ~a [OPTION ...] INDEX ...~%" (program-name))
|
||||
(format (current-error-port) "options:~%")
|
||||
(format (current-error-port) " -h|-help display this help message~%")
|
||||
(format (current-error-port) " -v|-version display version information~%")
|
||||
(format (current-error-port) " -j|-parallel N download N images in parallel~%"))
|
||||
(format (current-error-port) " -v|-version display version information~%"))
|
||||
|
||||
(define parse-command-line
|
||||
(match-lambda
|
||||
|
|
@ -45,13 +32,6 @@
|
|||
(usage))
|
||||
(((or "-v" "-version") . _)
|
||||
(format (current-error-port) "rain.scm 1.0.1~%" (program-name)))
|
||||
(((or "-j" "-parallel") n . rest)
|
||||
(let ((nn (string->number n)))
|
||||
(unless nn
|
||||
(usage)
|
||||
(exit 1))
|
||||
(set! parallel nn)
|
||||
(parse-command-line rest)))
|
||||
(()
|
||||
(usage))
|
||||
(indices
|
||||
|
|
|
|||
3
rain.sld
3
rain.sld
|
|
@ -14,7 +14,6 @@ exec csi -s "$0" "$@"
|
|||
(html-parser)
|
||||
(openssl) ; has to be before http-client
|
||||
(http-client)
|
||||
(matchable)
|
||||
(srfi-18))
|
||||
(matchable))
|
||||
(include "rain.scm")
|
||||
(begin (main (command-line-arguments))))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue