Hi Guix,
I'm looking for help or tips on debugging an mcron job. My goal is to run
a site-specific telemetry script that I have packaged [0] in my channel.
The script collects some information and sends it to a remote server. I am
trying to run the script as an mcron job via a service I created in my
channel [1].
[0]
https://gitlab.oit.duke.edu/jackhill/guix-at-duke/blob/0ed0a8e7530ef32b9e268d43b36944e38defa5f1/guix-at-duke/packages/endpoint-management.scm#L98-140
[1]
https://gitlab.oit.duke.edu/jackhill/guix-at-duke/blob/0ed0a8e7530ef32b9e268d43b36944e38defa5f1/guix-at-duke/services/endpoint-management.scm
So far, this looks good, and after pulling my channel, reconfiguring, and
restarting mcron, I can see my job in herd schedule mcron:
"""
# herd schedule mcron
Tue Mar 12 00:51:00 2019 -0400
/gnu/store/61692zjpkhy3jqv4a7jk1k8a14k6yn8k-planisphere-report-0-0.1b606af/bin/planisphere-report
…
"""
However, this doesn't appear to work because after the appointed time, the
remote server is not updated. If I run the planisphere-report command by
hand, the remote server is updated.
If I replace the planisphere-report command in my job with
"/run/current-system/profile/bin/touch /tmp/test-file", test-file is
indeed touched, so I know that the jobs are running.
Being fairly new to Guix, and extremely new to mcron, I don't know how to
debug further. Are jobs run in such a way that they don't have network
access? How can I see any errors or output?
Best,
Jack
P.S. I'm happy to accept any comments about how to improve the code in my
channel as well ☺.