aboutsummaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-28 22:47:16 -0500
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-11-28 22:49:23 -0500
commit3578fb1323db3f0eadd5749e51095e5f196d78c7 (patch)
treedd4ccb116b224aaee6ddeb92855999fdb7844be2 /doc
parent3cff7bfa9b46f1b73381df79a6f2aaa55a332126 (diff)
downloadguix-3578fb1323db3f0eadd5749e51095e5f196d78c7.tar.gz
guix-3578fb1323db3f0eadd5749e51095e5f196d78c7.zip
doc: Recommend avoiding execl, execle or execlp in mcron job specifications.
* doc/guix.texi (Scheduled Job Execution): Adjust the 'updatedb' example and add a new tip.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi11
1 files changed, 8 insertions, 3 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index e547d469f4..caa6976a82 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -18940,9 +18940,8 @@ gexps to introduce job definitions that are passed to mcron
;; job's action as a Scheme procedure.
#~(job '(next-hour '(3))
(lambda ()
- (execl (string-append #$findutils "/bin/updatedb")
- "updatedb"
- "--prunepaths=/tmp /var/tmp /gnu/store"))
+ (system* (string-append #$findutils "/bin/updatedb")
+ "--prunepaths=/tmp /var/tmp /gnu/store"))
"updatedb"))
(define garbage-collector-job
@@ -18980,6 +18979,12 @@ the job would appear as ``Lambda function'' in the output of
@command{herd schedule mcron}, which is not nearly descriptive enough!
@end quotation
+@quotation Tip
+Avoid calling the Guile procedures @code{execl}, @code{execle} or
+@code{execlp} inside a job specification, else mcron won't be able to
+output the completion status of the job.
+@end quotation
+
For more complex jobs defined in Scheme where you need control over the top
level, for instance to introduce a @code{use-modules} form, you can move your
code to a separate program using the @code{program-file} procedure of the