+// Copyright (C) The Arvados Authors. All rights reserved.
+//
+// SPDX-License-Identifier: AGPL-3.0
+
package main
// Dispatcher service for Crunch that submits containers to the slurm queue.
"github.com/coreos/go-systemd/daemon"
)
+var version = "dev"
+
// Config used by crunch-dispatch-slurm
type Config struct {
Client arvados.Client
"dump-config",
false,
"write current configuration to stdout and exit")
-
+ getVersion := flags.Bool(
+ "version",
+ false,
+ "Print version information and exit.")
// Parse args; omit the first arg which is the command name
flags.Parse(os.Args[1:])
+ // Print version information if requested
+ if *getVersion {
+ fmt.Printf("crunch-dispatch-slurm %s\n", version)
+ return nil
+ }
+
+ log.Printf("crunch-dispatch-slurm %s started", version)
+
err := readConfig(&theConfig, *configPath)
if err != nil {
return err
log.Printf("Submitting container %s to slurm", ctr.UUID)
if err := submit(disp, ctr, theConfig.CrunchRunCommand); err != nil {
text := fmt.Sprintf("Error submitting container %s to slurm: %s", ctr.UUID, err)
- log.Printf(text)
+ log.Print(text)
lr := arvadosclient.Dict{"log": arvadosclient.Dict{
"object_uuid": ctr.UUID,