annotate sciworkerd/main.c @ 50:b474f0985e39

scictl: add API key support
author David Demelier <markand@malikania.fr>
date Wed, 17 Aug 2022 09:11:58 +0200
parents 081e1c258e64
children 95bc6b4ec753
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
16
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
1 /*
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
2 * sciworkerd.c -- main sciworkerd(8) program file
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
3 *
32
081e1c258e64 misc: update copyright years
David Demelier <markand@malikania.fr>
parents: 23
diff changeset
4 * Copyright (c) 2021-2022 David Demelier <markand@malikania.fr>
16
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
5 *
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
6 * Permission to use, copy, modify, and/or distribute this software for any
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
7 * purpose with or without fee is hereby granted, provided that the above
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
8 * copyright notice and this permission notice appear in all copies.
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
9 *
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
10 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
11 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
12 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
13 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
14 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
15 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
16 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
17 */
3051ef92173a misc: add license headers
David Demelier <markand@malikania.fr>
parents: 10
diff changeset
18
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
19 #include <stdio.h>
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
20 #include <stdlib.h>
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
21 #include <unistd.h>
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
22
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
23 #include "sciworkerd.h"
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
24
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
25 static void
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
26 env(void)
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
27 {
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
28 const char *env;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
29
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
30 if ((env = getenv("SCI_URL")))
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
31 snprintf(sciworkerd.url, sizeof (sciworkerd.url), "%s", optarg);
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
32 if ((env = getenv("SCI_WORKER")))
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
33 snprintf(sciworkerd.name, sizeof (sciworkerd.name), "%s", optarg);
10
eb76429ce112 sciworkerd: improve process destruction
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
34 }
eb76429ce112 sciworkerd: improve process destruction
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
35
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
36 int
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
37 main(int argc, char **argv)
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
38 {
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
39 int ch, val;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
40
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
41 env();
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
42 opterr = 0;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
43
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
44 while ((ch = getopt(argc, argv, "j:t:u:w:")) != -1) {
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
45 switch (ch) {
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
46 case 'j':
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
47 if ((val = atoi(optarg)) > 0)
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
48 sciworkerd.maxjobs = val;
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
49 break;
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
50 case 't':
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
51 if ((val = atoi(optarg)) > 0)
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
52 sciworkerd.timeout = val;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
53 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
54 case 'u':
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
55 snprintf(sciworkerd.url, sizeof (sciworkerd.url), "%s", optarg);
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
56 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
57 case 'w':
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
58 snprintf(sciworkerd.name, sizeof (sciworkerd.name), "%s", optarg);
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
59 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
60 default:
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
61 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
62 }
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
63 }
23
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
64
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
65 sciworkerd_init();
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
66 sciworkerd_run();
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
67 sciworkerd_finish();
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
68 }