Feat: پیادهسازی سرویس بکاپ داخلی با پایتون - #13
Merged
Conversation
این کامیت یک سرویس بکاپ داخلی جامع و کانتینری را بر اساس یک پرامپت دقیق مهندسی پیادهسازی میکند.
تغییرات کلیدی:
1. **ساختار پروژه**:
* یک پوشه جدید `/ops/backup` با ساختار استاندارد شامل `src`, `tests`, `Dockerfile`, و مستندات ایجاد شد.
2. **هسته سرویس (پایتون)**:
* یک اسکریپت `backup_service.py` ایجاد شد که قادر به بکاپگیری از PostgreSQL (`pg_dump`), Redis (`BGSAVE`), و مسیرهای فایل مشخصشده است.
* این سرویس از قفل مشورتی PostgreSQL برای جلوگیری از اجرای همزمان استفاده میکند.
* منطق حذف بکاپهای قدیمی (retention) و ایجاد فایل `manifest.json` برای هر بکاپ پیادهسازی شده است.
3. **کانتینرسازی**:
* یک `Dockerfile` چندمرحلهای برای ساخت یک ایمیج سبک و بهینه ایجاد شد.
* یک `entrypoint.sh` برای مدیریت زمانبندی با `cron` در داخل کانتینر پیادهسازی گردید.
* یک فایل `docker-compose.backup.yml` برای تست و اجرای مستقل سرویس فراهم شده است.
4. **تست و بازیابی**:
* Unit testها با `pytest` برای توابع حیاتی نوشته شدهاند.
* یک اسکریپت `restore.sh` برای بازیابی آسان بکاپهای دیتابیس ایجاد شد.
5. **مستندسازی**:
* یک فایل `README-backup.md` جامع با تمام دستورالعملهای لازم برای پیکربندی، اجرا، تست و بازیابی سرویس ایجاد شد.
این سرویس یک قابلیت حیاتی برای حفاظت از دادههای پلتفرم `MasirYar` فراهم میکند و به صورت مستقل و قابل اعتماد طراحی شده است.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
این کامیت یک سرویس بکاپ داخلی جامع و کانتینری را بر اساس یک پرامپت دقیق مهندسی پیادهسازی میکند.
تغییرات کلیدی:
ساختار پروژه:
/ops/backupبا ساختار استاندارد شاملsrc,tests,Dockerfile, و مستندات ایجاد شد.هسته سرویس (پایتون):
backup_service.pyایجاد شد که قادر به بکاپگیری از PostgreSQL (pg_dump), Redis (BGSAVE), و مسیرهای فایل مشخصشده است.manifest.jsonبرای هر بکاپ پیادهسازی شده است.کانتینرسازی:
Dockerfileچندمرحلهای برای ساخت یک ایمیج سبک و بهینه ایجاد شد.entrypoint.shبرای مدیریت زمانبندی باcronدر داخل کانتینر پیادهسازی گردید.docker-compose.backup.ymlبرای تست و اجرای مستقل سرویس فراهم شده است.تست و بازیابی:
pytestبرای توابع حیاتی نوشته شدهاند.restore.shبرای بازیابی آسان بکاپهای دیتابیس ایجاد شد.مستندسازی:
README-backup.mdجامع با تمام دستورالعملهای لازم برای پیکربندی، اجرا، تست و بازیابی سرویس ایجاد شد.این سرویس یک قابلیت حیاتی برای حفاظت از دادههای پلتفرم
MasirYarفراهم میکند و به صورت مستقل و قابل اعتماد طراحی شده است.