dfs.py 1.96 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import redis
import toml
import os


CONFIG = toml.load(os.path.join(os.path.dirname(__file__), "config", "config.toml"))


class DFS:
    def __init__(self, location="naoc"):
        if location not in CONFIG.keys():
            print("Available DFS locations: ", list(CONFIG.keys()))
            raise ValueError(f"Unknown dfs location: {location}")
        self.location = location
        self.config = CONFIG[location]
        print("Setting DFS config:")
        for k, v in self.config["dfs"].items():
            if k not in os.environ.keys():
                os.environ.setdefault(k, str(v))
                print(f" - Set {k}: {v}")
            else:
                print(f" - {k}: {os.environ[k]}")

        self.redis = Redis(location)


class Redis(redis.Redis):
    def __init__(self, location="naoc"):
        if location not in CONFIG.keys():
            print("Available redis locations: ", list(CONFIG.keys()))
            raise ValueError(f"Unknown redis location: {location}")
        super().__init__(
            host=CONFIG[location]["redis"]["host"],
            port=CONFIG[location]["redis"]["port"],
            db=CONFIG[location]["redis"]["db"],
            password=CONFIG[location]["redis"]["password"],
        )
        self.qname = password = CONFIG[location]["redis"]["qname"]
        self.config = CONFIG[location]["redis"]

        print("Setting redis config:")
        for k, v in self.config.items():
            print(f" - {k}: {v}")

    def push(self, msg):
        self.lpush(self.qname, msg)

    def pop(self):
        return self.rpop(self.qname)

    def get_all(self):
        return self.lrange(self.qname, 0, -1)


# msgs = r.lrange(name, 0, -1)
# for chipid in range(6, 26):
#     this_msg = gen_msg(
#         dag_id="csst-msc-l1-mbi", obsid="11009101682009", chipid=f"{chipid:02d}"
#     )
#     print(this_msg)
#     r.lpush(name, this_msg)
#
# msgs = r.lrange(name, 0, -1)
# print(msgs)
#
# msgs_later = r.lrange(name, 0, -1)
# print(msgs_later)