ซึ่งจะอธิบายวิธีกำหนดค่า Flask, Celery, RabbitMQ และ Redis ร่วมกับ Docker เพื่อสร้างบริการเว็บที่อัปโหลดเนื้อหาแบบไดนามิกและโหลดเนื้อหานี้เมื่อพร้อมที่จะแสดง เราจะเน้นที่คื่นฉ่ายและบริการโดยรอบเป็นหลัก Docker ค่อนข้างตรงไปตรงมากว่าเล็กน้อย
โครงสร้างโครงการ
โครงสร้างโครงการที่เสร็จแล้วจะเป็นดังนี้:
├── Dockerfile ├── docker-compose.yml ├── README.md ├── app │ ├── app.py │ ├── tasks.py │ └── templates │ ├── download.html │ └── index.html ├── scripts │ ├── run_celery.sh │ └── run_web.sh └── requirements.txt
การสร้างแอปพลิเคชั่น Flask
ขั้นแรก เราสร้างโฟลเดอร์สำหรับแอปของเรา สำหรับตัวอย่างนี้ โฟลเดอร์ของเราชื่อ |_+_| ภายในโฟลเดอร์นี้ ให้สร้าง |_+_| ไฟล์และโฟลเดอร์ว่างชื่อ |_+_| ที่ซึ่งเทมเพลต HTML ของเราจะถูกเก็บไว้
สำหรับแอปของเรา ก่อนอื่นเราจะรวมไลบรารี Flask พื้นฐานและสร้างอินสแตนซ์ของแอป:
app
เรากำหนดสามเส้นทางสำหรับ Flask ที่จะนำไปใช้: หน้า Landing Page หน้ารองที่ฝังและรูปภาพ และเส้นทางสำหรับรูปภาพเอง เส้นทางภาพของเราครอบตัดภาพแบบไดนามิก สำหรับตัวอย่างนี้ จะครอบตัดรูปภาพโดยใช้ |_+_| และมีการหน่วงเวลาด้วยเพื่อให้เวลาที่ใช้ในการสร้างภาพมีความชัดเจนมากขึ้น
@APP.route('/') def index(): return render_template('index.html') @APP.route('/image_page') def image_page(): job = tasks.get_data_from_strava.delay() ส่งคืน render_template() 'home.html') @APP.route('/result.png'> medium.com
Dockerized Flask-Celery-RabbitMQ-Redis Application
ซึ่งจะอธิบายวิธีกำหนดค่า Flask, Celery, RabbitMQ และ Redis ร่วมกับ Docker เพื่อสร้างบริการเว็บที่อัปโหลดเนื้อหาแบบไดนามิกและโหลดเนื้อหานี้เมื่อพร้อมที่จะแสดง เราจะเน้นที่คื่นฉ่ายและบริการโดยรอบเป็นหลัก Docker ค่อนข้างตรงไปตรงมากว่าเล็กน้อย
ดูสิ่งนี้ด้วย:
- เรียนรู้สาเหตุต่างๆ ของข้อผิดพลาดเราเตอร์ TP-Link 404
- Soakmont คืออะไร (SOAK) | โทเค็น Soakmont คืออะไร | โทเค็น SOAK คืออะไร
- SOAR.FI (SOAR) ซื้อได้ที่ไหนและอย่างไร – คำแนะนำทีละขั้นตอนง่าย ๆ
- Plasm Network (PLM) คืออะไร | โทเค็นเครือข่าย Plasm คืออะไร | เหรียญ PLM คืออะไร
- วิธีสร้างส่วนท้ายโดยใช้ Material UI