annotate sciworkerd/main.c @ 77:070d8c92ca30

scid: fix index page
author David Demelier <markand@malikania.fr>
date Mon, 30 Jan 2023 10:38:33 +0100
parents 562372396019
children 71cd8447e3a4
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
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
23 #include "apic.h"
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
24 #include "sciworkerd.h"
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
25 #include "util.h"
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
26
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
27 static void
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
28 env(void)
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 const char *env;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
31
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
32 if ((env = getenv("SCI_API_URL")))
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
33 util_strlcpy(apiconf.baseurl, env, sizeof (apiconf.baseurl));
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
34 if ((env = getenv("SCI_API_KEY")))
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
35 util_strlcpy(apiconf.key, env, sizeof (apiconf.key));
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
36 if ((env = getenv("SCI_WORKER")))
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
37 util_strlcpy(sciworkerd.name, env, sizeof (sciworkerd.name));
10
eb76429ce112 sciworkerd: improve process destruction
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
38 }
eb76429ce112 sciworkerd: improve process destruction
David Demelier <markand@malikania.fr>
parents: 3
diff changeset
39
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
40 int
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
41 main(int argc, char **argv)
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
42 {
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
43 int ch, val;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
44
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
45 env();
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
46 opterr = 0;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
47
64
562372396019 misc: improve manual pages and documentation
David Demelier <markand@malikania.fr>
parents: 53
diff changeset
48 while ((ch = util_getopt(argc, argv, "j:k:t:u:w:")) != -1) {
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
49 switch (ch) {
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
50 case 'j':
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.maxjobs = val;
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
53 break;
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
54 case 'k':
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
55 util_strlcpy(apiconf.key, optarg, sizeof (apiconf.key));
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
56 break;
19
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
57 case 't':
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
58 if ((val = atoi(optarg)) > 0)
de4bf839b565 misc: revamp SQL
David Demelier <markand@malikania.fr>
parents: 18
diff changeset
59 sciworkerd.timeout = val;
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
60 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
61 case 'u':
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
62 util_strlcpy(apiconf.baseurl, optarg, sizeof (apiconf.baseurl));
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
63 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
64 case 'w':
52
95bc6b4ec753 sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents: 32
diff changeset
65 util_strlcpy(sciworkerd.name, optarg, sizeof (sciworkerd.name));
2
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
66 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
67 default:
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
68 break;
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
69 }
5fa3d2f479b2 sci: initial upload support
David Demelier <markand@malikania.fr>
parents: 1
diff changeset
70 }
23
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
71
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
72 sciworkerd_init();
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
73 sciworkerd_run();
2cb228f23f53 misc: rework todo/jobs HTTP requests
David Demelier <markand@malikania.fr>
parents: 19
diff changeset
74 sciworkerd_finish();
0
f1de39079243 misc: initial import
David Demelier <markand@malikania.fr>
parents:
diff changeset
75 }