-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathportfolio-ANTCDE-script-server.html
65 lines (56 loc) · 3.04 KB
/
portfolio-ANTCDE-script-server.html
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
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<title>ANT Script Server</title>
<link rel="stylesheet" href="style.css"/>
<link rel="shortcut icon" type="image/x-icon" href="images/Dervis_icon_1.png"/>
</head>
<body>
<!-- HEADER -->
<div class="portfolio-header">
<div class="text-with-vert-line"
style="margin-left: 16px; height: 45px;">
<p class="portfolio-header-title">Dervis van Leersum</p>
</div>
<a class="contact_me_portfolio"
style="position: absolute; right: 20px; top: 4px;"
href="mailto:dervis.vanleersum@gmail@@com?subject=Say%20hi%20to%20Dervis%20van%20Leersum" onclick="this.href=this.href.replace('@@', '.')">CONTACT ME</a>
</div>
<!-- GRAY SECTION TITLES -->
<div class="section gray-section-1"
style="position:relative;">
<div class="separator-1"></div>
<h1 class="portfolio">Portfolio</h1>
<h2 class="portfolio">ANT Common Data Engineering Script Server</h2>
<a class="back"
style="position: absolute; left: 20px; top: 4px;"
href="index.html">Back</a>
</div>
<!-- CONTENT SECTION -->
<div class="section">
<div class="text-with-vert-line">
<p>
For ANT Common Data Engineering, I developed a Flask-based server application that executes Python scripts within isolated Docker containers.
</p><p>
The server receives tasks via a RESTful API endpoint, validates the incoming data, and spins up Docker containers to execute scripts in a secure, containerized environment.
</p><p>
The architecture incorporates Gunicorn for production-grade WSGI serving with configurable workers and threads for scalability. I implemented a robust task management system using SQLite to track active tasks and prevent duplicate execution, along with comprehensive error handling and logging capabilities.
</p><p>
The server supports configurable Python versions (3.8-3.12) and includes debug modes for development. The entire application is containerized with Docker Compose for easy deployment. All incoming scripts are wrapped with necessary imports and API connections, ensuring consistent execution environments across all tasks.
</p><p>
<u><b>Technologies:</b></u> <b> PYTHON, FLASK, DOCKER, DEVOPS, SQLITE, GUNICORN, DOCKER-COMPOSE, POETRY, VSCODE, GIT</b>
</p>
</div>
<div style="text-align: center;
margin-top: 30px;">
<a href="https://antcde.io/" target="_blank"><img class="portfolio" src="images/antconnect.png"/></a>
<a style="display: block; margin-top: 8px;" href="https://antcde.io/" target="_blank">Link to the project</a>
</div>
</div>
<!-- FRAME -->
<iframe src="contact-frame.html" scrolling="no"/>
</body>
</html>