Artifact
65d7a895cea3c60a812108b6ca039f61926ca8a6:
0000: 3b 3b 3b 3b 20 74 61 73 6b 73 2e 69 6d 70 6f 72 ;;;; tasks.impor
0010: 74 2e 73 63 6d 20 2d 20 47 45 4e 45 52 41 54 45 t.scm - GENERATE
0020: 44 20 42 59 20 43 48 49 43 4b 45 4e 20 34 2e 31 D BY CHICKEN 4.1
0030: 33 2e 30 20 2d 2a 2d 20 53 63 68 65 6d 65 20 2d 3.0 -*- Scheme -
0040: 2a 2d 0a 0a 28 65 76 61 6c 20 27 28 69 6d 70 6f *-..(eval '(impo
0050: 72 74 0a 20 20 20 20 20 20 20 20 20 73 63 68 65 rt. sche
0060: 6d 65 0a 20 20 20 20 20 20 20 20 20 63 68 69 63 me. chic
0070: 6b 65 6e 0a 20 20 20 20 20 20 20 20 20 64 61 74 ken. dat
0080: 61 2d 73 74 72 75 63 74 75 72 65 73 0a 20 20 20 a-structures.
0090: 20 20 20 20 20 20 65 78 74 72 61 73 0a 20 20 20 extras.
00a0: 20 20 20 20 20 20 73 71 6c 69 74 65 33 0a 20 20 sqlite3.
00b0: 20 20 20 20 20 20 20 73 72 66 69 2d 31 0a 20 20 srfi-1.
00c0: 20 20 20 20 20 20 20 70 6f 73 69 78 0a 20 20 20 posix.
00d0: 20 20 20 20 20 20 72 65 67 65 78 0a 20 20 20 20 regex.
00e0: 20 20 20 20 20 72 65 67 65 78 2d 63 61 73 65 0a regex-case.
00f0: 20 20 20 20 20 20 20 20 20 73 72 66 69 2d 36 39 srfi-69
0100: 0a 20 20 20 20 20 20 20 20 20 64 6f 74 2d 6c 6f . dot-lo
0110: 63 6b 69 6e 67 0a 20 20 20 20 20 20 20 20 20 66 cking. f
0120: 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 73 ormat. s
0130: 72 66 69 2d 31 38 0a 20 20 20 20 20 20 20 20 20 rfi-18.
0140: 28 70 72 65 66 69 78 20 73 71 6c 69 74 65 33 20 (prefix sqlite3
0150: 73 71 6c 69 74 65 33 3a 29 0a 20 20 20 20 20 20 sqlite3:).
0160: 20 20 20 63 6f 6d 6d 6f 6e 6d 6f 64 0a 20 20 20 commonmod.
0170: 20 20 20 20 20 20 64 65 62 75 67 70 72 69 6e 74 debugprint
0180: 0a 20 20 20 20 20 20 20 20 20 63 6f 6e 66 69 67 . config
0190: 66 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 64 62 fmod. db
01a0: 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 6d 61 72 mod. mar
01b0: 67 73 6d 6f 64 0a 20 20 20 20 20 20 20 20 20 70 gsmod. p
01c0: 67 64 62 29 29 0a 28 23 23 73 79 73 23 72 65 67 gdb)).(##sys#reg
01d0: 69 73 74 65 72 2d 63 6f 6d 70 69 6c 65 64 2d 6d ister-compiled-m
01e0: 6f 64 75 6c 65 0a 20 20 27 74 61 73 6b 73 0a 20 odule. 'tasks.
01f0: 20 28 6c 69 73 74 29 0a 20 20 27 28 28 74 61 73 (list). '((tas
0200: 6b 3a 61 64 64 2d 61 72 65 61 2d 74 61 67 20 2e k:add-area-tag .
0210: 20 74 61 73 6b 73 23 74 61 73 6b 3a 61 64 64 2d tasks#task:add-
0220: 61 72 65 61 2d 74 61 67 29 0a 20 20 20 20 28 74 area-tag). (t
0230: 61 73 6b 3a 61 64 64 2d 72 75 6e 2d 74 61 67 20 ask:add-run-tag
0240: 2e 20 74 61 73 6b 73 23 74 61 73 6b 3a 61 64 64 . tasks#task:add
0250: 2d 72 75 6e 2d 74 61 67 29 0a 20 20 20 20 28 74 -run-tag). (t
0260: 61 73 6b 3a 70 72 69 6e 74 2d 74 65 73 74 74 69 ask:print-testti
0270: 6d 65 2d 61 73 2d 6a 73 6f 6e 20 2e 20 74 61 73 me-as-json . tas
0280: 6b 73 23 74 61 73 6b 3a 70 72 69 6e 74 2d 74 65 ks#task:print-te
0290: 73 74 74 69 6d 65 2d 61 73 2d 6a 73 6f 6e 29 0a sttime-as-json).
02a0: 20 20 20 20 28 74 61 73 6b 3a 70 72 69 6e 74 2d (task:print-
02b0: 74 65 73 74 74 69 6d 65 20 2e 20 74 61 73 6b 73 testtime . tasks
02c0: 23 74 61 73 6b 3a 70 72 69 6e 74 2d 74 65 73 74 #task:print-test
02d0: 74 69 6d 65 29 0a 20 20 20 20 28 74 61 73 6b 3a time). (task:
02e0: 70 72 69 6e 74 2d 72 75 6e 74 69 6d 65 2d 61 73 print-runtime-as
02f0: 2d 6a 73 6f 6e 20 2e 20 74 61 73 6b 73 23 74 61 -json . tasks#ta
0300: 73 6b 3a 70 72 69 6e 74 2d 72 75 6e 74 69 6d 65 sk:print-runtime
0310: 2d 61 73 2d 6a 73 6f 6e 29 0a 20 20 20 20 28 74 -as-json). (t
0320: 61 73 6b 3a 70 72 69 6e 74 2d 72 75 6e 74 69 6d ask:print-runtim
0330: 65 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 3a 70 e . tasks#task:p
0340: 72 69 6e 74 2d 72 75 6e 74 69 6d 65 29 0a 20 20 rint-runtime).
0350: 20 20 28 74 61 73 6b 73 3a 73 65 74 2d 61 72 65 (tasks:set-are
0360: 61 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a a . tasks#tasks:
0370: 73 65 74 2d 61 72 65 61 29 0a 20 20 20 20 28 74 set-area). (t
0380: 61 73 6b 73 3a 66 69 6e 64 2d 74 61 73 6b 2d 71 asks:find-task-q
0390: 75 65 75 65 2d 72 65 63 6f 72 64 73 20 2e 20 74 ueue-records . t
03a0: 61 73 6b 73 23 74 61 73 6b 73 3a 66 69 6e 64 2d asks#tasks:find-
03b0: 74 61 73 6b 2d 71 75 65 75 65 2d 72 65 63 6f 72 task-queue-recor
03c0: 64 73 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 67 ds). (tasks:g
03d0: 65 74 2d 72 65 63 6f 72 64 73 2d 67 69 76 65 6e et-records-given
03e0: 2d 70 61 72 61 6d 2d 6b 65 79 0a 20 20 20 20 20 -param-key.
03f0: 20 2e 0a 20 20 20 20 20 20 74 61 73 6b 73 23 74 .. tasks#t
0400: 61 73 6b 73 3a 67 65 74 2d 72 65 63 6f 72 64 73 asks:get-records
0410: 2d 67 69 76 65 6e 2d 70 61 72 61 6d 2d 6b 65 79 -given-param-key
0420: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 73 65 74 ). (tasks:set
0430: 2d 73 74 61 74 65 2d 67 69 76 65 6e 2d 70 61 72 -state-given-par
0440: 61 6d 2d 6b 65 79 20 2e 20 74 61 73 6b 73 23 74 am-key . tasks#t
0450: 61 73 6b 73 3a 73 65 74 2d 73 74 61 74 65 2d 67 asks:set-state-g
0460: 69 76 65 6e 2d 70 61 72 61 6d 2d 6b 65 79 29 0a iven-param-key).
0470: 20 20 20 20 28 74 61 73 6b 73 3a 70 61 72 61 6d (tasks:param
0480: 2d 6b 65 79 2d 3e 69 64 20 2e 20 74 61 73 6b 73 -key->id . tasks
0490: 23 74 61 73 6b 73 3a 70 61 72 61 6d 2d 6b 65 79 #tasks:param-key
04a0: 2d 3e 69 64 29 0a 20 20 20 20 28 74 61 73 6b 73 ->id). (tasks
04b0: 3a 73 65 74 2d 73 74 61 74 65 20 2e 20 74 61 73 :set-state . tas
04c0: 6b 73 23 74 61 73 6b 73 3a 73 65 74 2d 73 74 61 ks#tasks:set-sta
04d0: 74 65 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 74 te). (tasks:t
04e0: 61 73 6b 73 2d 3e 74 65 78 74 20 2e 20 74 61 73 asks->text . tas
04f0: 6b 73 23 74 61 73 6b 73 3a 74 61 73 6b 73 2d 3e ks#tasks:tasks->
0500: 74 65 78 74 29 0a 20 20 20 20 28 74 61 73 6b 73 text). (tasks
0510: 3a 72 65 6d 6f 76 65 2d 71 75 65 75 65 2d 65 6e :remove-queue-en
0520: 74 72 69 65 73 20 2e 20 74 61 73 6b 73 23 74 61 tries . tasks#ta
0530: 73 6b 73 3a 72 65 6d 6f 76 65 2d 71 75 65 75 65 sks:remove-queue
0540: 2d 65 6e 74 72 69 65 73 29 0a 20 20 20 20 28 74 -entries). (t
0550: 61 73 6b 73 3a 67 65 74 2d 6c 61 73 74 20 2e 20 asks:get-last .
0560: 74 61 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d tasks#tasks:get-
0570: 6c 61 73 74 29 0a 20 20 20 20 28 74 61 73 6b 73 last). (tasks
0580: 3a 67 65 74 2d 74 61 73 6b 73 20 2e 20 74 61 73 :get-tasks . tas
0590: 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 74 61 73 ks#tasks:get-tas
05a0: 6b 73 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 72 ks). (tasks:r
05b0: 65 73 65 74 2d 73 74 75 63 6b 2d 74 61 73 6b 73 eset-stuck-tasks
05c0: 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a 72 . tasks#tasks:r
05d0: 65 73 65 74 2d 73 74 75 63 6b 2d 74 61 73 6b 73 eset-stuck-tasks
05e0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 73 6e 61 ). (tasks:sna
05f0: 67 2d 61 2d 74 61 73 6b 20 2e 20 74 61 73 6b 73 g-a-task . tasks
0600: 23 74 61 73 6b 73 3a 73 6e 61 67 2d 61 2d 74 61 #tasks:snag-a-ta
0610: 73 6b 29 0a 20 20 20 20 28 6b 65 79 73 3a 6b 65 sk). (keys:ke
0620: 79 2d 76 61 6c 73 2d 68 61 73 68 2d 3e 74 61 72 y-vals-hash->tar
0630: 67 65 74 20 2e 20 74 61 73 6b 73 23 6b 65 79 73 get . tasks#keys
0640: 3a 6b 65 79 2d 76 61 6c 73 2d 68 61 73 68 2d 3e :key-vals-hash->
0650: 74 61 72 67 65 74 29 0a 20 20 20 20 28 74 61 73 target). (tas
0660: 6b 73 3a 61 64 64 20 2e 20 74 61 73 6b 73 23 74 ks:add . tasks#t
0670: 61 73 6b 73 3a 61 64 64 29 0a 20 20 20 20 28 74 asks:add). (t
0680: 61 73 6b 73 3a 67 65 74 2d 6e 75 6d 2d 61 6c 69 asks:get-num-ali
0690: 76 65 2d 6d 6f 6e 69 74 6f 72 73 20 2e 20 74 61 ve-monitors . ta
06a0: 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 6e 75 sks#tasks:get-nu
06b0: 6d 2d 61 6c 69 76 65 2d 6d 6f 6e 69 74 6f 72 73 m-alive-monitors
06c0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 72 65 67 ). (tasks:reg
06d0: 69 73 74 65 72 2d 6d 6f 6e 69 74 6f 72 20 2e 20 ister-monitor .
06e0: 74 61 73 6b 73 23 74 61 73 6b 73 3a 72 65 67 69 tasks#tasks:regi
06f0: 73 74 65 72 2d 6d 6f 6e 69 74 6f 72 29 0a 20 20 ster-monitor).
0700: 20 20 28 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 (tasks:monitor
0710: 73 2d 75 70 64 61 74 65 20 2e 20 74 61 73 6b 73 s-update . tasks
0720: 23 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d #tasks:monitors-
0730: 75 70 64 61 74 65 29 0a 20 20 20 20 28 74 61 73 update). (tas
0740: 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d 3e 74 65 78 ks:monitors->tex
0750: 74 2d 74 61 62 6c 65 20 2e 20 74 61 73 6b 73 23 t-table . tasks#
0760: 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 73 2d 3e tasks:monitors->
0770: 74 65 78 74 2d 74 61 62 6c 65 29 0a 20 20 20 20 text-table).
0780: 28 74 61 73 6b 73 3a 67 65 74 2d 6d 6f 6e 69 74 (tasks:get-monit
0790: 6f 72 73 20 2e 20 74 61 73 6b 73 23 74 61 73 6b ors . tasks#task
07a0: 73 3a 67 65 74 2d 6d 6f 6e 69 74 6f 72 73 29 0a s:get-monitors).
07b0: 20 20 20 20 28 74 61 73 6b 73 3a 72 65 6d 6f 76 (tasks:remov
07c0: 65 2d 6d 6f 6e 69 74 6f 72 2d 72 65 63 6f 72 64 e-monitor-record
07d0: 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a 72 . tasks#tasks:r
07e0: 65 6d 6f 76 65 2d 6d 6f 6e 69 74 6f 72 2d 72 65 emove-monitor-re
07f0: 63 6f 72 64 29 0a 20 20 20 20 28 74 61 73 6b 73 cord). (tasks
0800: 3a 6e 65 65 64 2d 73 65 72 76 65 72 20 2e 20 74 :need-server . t
0810: 61 73 6b 73 23 74 61 73 6b 73 3a 6e 65 65 64 2d asks#tasks:need-
0820: 73 65 72 76 65 72 29 0a 20 20 20 20 28 74 61 73 server). (tas
0830: 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d ks:hostinfo-get-
0840: 68 6f 73 74 6e 61 6d 65 20 2e 20 74 61 73 6b 73 hostname . tasks
0850: 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d #tasks:hostinfo-
0860: 67 65 74 2d 68 6f 73 74 6e 61 6d 65 29 0a 20 20 get-hostname).
0870: 20 20 28 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 (tasks:hostinf
0880: 6f 2d 67 65 74 2d 70 69 64 20 2e 20 74 61 73 6b o-get-pid . task
0890: 73 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f s#tasks:hostinfo
08a0: 2d 67 65 74 2d 70 69 64 29 0a 20 20 20 20 28 74 -get-pid). (t
08b0: 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 asks:hostinfo-ge
08c0: 74 2d 74 72 61 6e 73 70 6f 72 74 20 2e 20 74 61 t-transport . ta
08d0: 73 6b 73 23 74 61 73 6b 73 3a 68 6f 73 74 69 6e sks#tasks:hostin
08e0: 66 6f 2d 67 65 74 2d 74 72 61 6e 73 70 6f 72 74 fo-get-transport
08f0: 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 68 6f 73 ). (tasks:hos
0900: 74 69 6e 66 6f 2d 67 65 74 2d 70 75 62 70 6f 72 tinfo-get-pubpor
0910: 74 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 3a t . tasks#tasks:
0920: 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 75 62 hostinfo-get-pub
0930: 70 6f 72 74 29 0a 20 20 20 20 28 74 61 73 6b 73 port). (tasks
0940: 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 6f :hostinfo-get-po
0950: 72 74 20 2e 20 74 61 73 6b 73 23 74 61 73 6b 73 rt . tasks#tasks
0960: 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 70 6f :hostinfo-get-po
0970: 72 74 29 0a 20 20 20 20 28 74 61 73 6b 73 3a 68 rt). (tasks:h
0980: 6f 73 74 69 6e 66 6f 2d 67 65 74 2d 69 6e 74 65 ostinfo-get-inte
0990: 72 66 61 63 65 20 2e 20 74 61 73 6b 73 23 74 61 rface . tasks#ta
09a0: 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 74 sks:hostinfo-get
09b0: 2d 69 6e 74 65 72 66 61 63 65 29 0a 20 20 20 20 -interface).
09c0: 28 74 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d (tasks:hostinfo-
09d0: 67 65 74 2d 69 64 20 2e 20 74 61 73 6b 73 23 74 get-id . tasks#t
09e0: 61 73 6b 73 3a 68 6f 73 74 69 6e 66 6f 2d 67 65 asks:hostinfo-ge
09f0: 74 2d 69 64 29 0a 20 20 20 20 28 74 61 73 6b 73 t-id). (tasks
0a00: 3a 6f 70 65 6e 2d 64 62 20 2e 20 74 61 73 6b 73 :open-db . tasks
0a10: 23 74 61 73 6b 73 3a 6f 70 65 6e 2d 64 62 29 0a #tasks:open-db).
0a20: 20 20 20 20 28 74 61 73 6b 73 3a 67 65 74 2d 74 (tasks:get-t
0a30: 61 73 6b 2d 64 62 2d 70 61 74 68 20 2e 20 74 61 ask-db-path . ta
0a40: 73 6b 73 23 74 61 73 6b 73 3a 67 65 74 2d 74 61 sks#tasks:get-ta
0a50: 73 6b 2d 64 62 2d 70 61 74 68 29 0a 20 20 20 20 sk-db-path).
0a60: 28 6d 61 6b 65 2d 74 61 73 6b 73 3a 6d 6f 6e 69 (make-tasks:moni
0a70: 74 6f 72 20 2e 20 74 61 73 6b 73 23 6d 61 6b 65 tor . tasks#make
0a80: 2d 74 61 73 6b 73 3a 6d 6f 6e 69 74 6f 72 29 0a -tasks:monitor).
0a90: 20 20 20 20 28 6d 61 6b 65 2d 74 61 73 6b 73 3a (make-tasks:
0aa0: 74 61 73 6b 20 2e 20 74 61 73 6b 73 23 6d 61 6b task . tasks#mak
0ab0: 65 2d 74 61 73 6b 73 3a 74 61 73 6b 29 29 0a 20 e-tasks:task)).
0ac0: 20 28 6c 69 73 74 29 0a 20 20 28 6c 69 73 74 29 (list). (list)
0ad0: 29 0a 0a 3b 3b 20 45 4e 44 20 4f 46 20 46 49 4c )..;; END OF FIL
0ae0: 45 0a E.