Mercurial > sci
annotate sciworkerd/main.c @ 80:71cd8447e3a4
misc: update copyright years
author | David Demelier <markand@malikania.fr> |
---|---|
date | Wed, 01 Feb 2023 13:14:46 +0100 |
parents | 562372396019 |
children |
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 * |
80
71cd8447e3a4
misc: update copyright years
David Demelier <markand@malikania.fr>
parents:
64
diff
changeset
|
4 * Copyright (c) 2021-2023 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 | 19 #include <stdio.h> |
20 #include <stdlib.h> | |
21 #include <unistd.h> | |
22 | |
52
95bc6b4ec753
sciworkerd: add API key support
David Demelier <markand@malikania.fr>
parents:
32
diff
changeset
|
23 #include "apic.h" |
19 | 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 | 27 static void |
19 | 28 env(void) |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
29 { |
19 | 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 | 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 | 40 int |
41 main(int argc, char **argv) | |
42 { | |
19 | 43 int ch, val; |
2
5fa3d2f479b2
sci: initial upload support
David Demelier <markand@malikania.fr>
parents:
1
diff
changeset
|
44 |
19 | 45 env(); |
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 | 50 case 'j': |
51 if ((val = atoi(optarg)) > 0) | |
52 sciworkerd.maxjobs = val; | |
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 | 57 case 't': |
58 if ((val = atoi(optarg)) > 0) | |
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 | 75 } |