File size: 1,318 Bytes
2e2138f
 
 
602598c
 
2e2138f
 
 
 
 
 
 
b67a5a0
 
2e2138f
 
 
 
 
 
 
602598c
2e2138f
 
 
602598c
b67a5a0
602598c
2e2138f
 
 
 
602598c
2e2138f
 
 
 
b67a5a0
 
2e2138f
602598c
2e2138f
b67a5a0
 
2e2138f
b67a5a0
 
 
602598c
 
2e2138f
dd87236
 
 
b67a5a0
2e2138f
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
from flask import Flask, jsonify
import time
import os
from datetime import datetime
from zoneinfo import ZoneInfo  # Python 3.9+

app = Flask(__name__)

data_blob = None
created_at = None


def generate_data(size_mb=5120):  # 5GB
    global data_blob, created_at

    print(f"[+] Generating ~{size_mb} MB random data in memory...")

    start = time.time()

    data_blob = os.urandom(size_mb * 1024 * 1024)

    created_at = datetime.now(ZoneInfo("Asia/Kolkata"))

    end = time.time()

    print(f"[✓] Done in {round(end - start, 2)} sec")
    print(f"[✓] Size: {round(len(data_blob) / (1024**3), 2)} GB")
    print(f"[✓] Created at (IST): {created_at}")


@app.route("/")
def home():
    return "Server running 🚀"


@app.route("/get")
def get_info():
    global data_blob, created_at

    if data_blob is None:
        return jsonify({"status": "no data in memory"})

    current_size = len(data_blob)

    return jsonify({
        "size_bytes": current_size,
        "size_mb": round(current_size / (1024 * 1024), 2),
        "size_gb": round(current_size / (1024**3), 2),
        "created_at_iso": created_at.isoformat(),
        "created_at_readable": created_at.strftime('%Y-%m-%d %H:%M:%S %Z')
    })


if __name__ == "__main__":
    generate_data(5120)  # 5GB
    app.run(host="0.0.0.0", port=7860)