متخصص استقرار (Deployment) پایتون: داکرایز کردن Streamlit با Selenium/Chromedriver برای Google Cloud Run
2. خلاصه پروژه (Project Summary)
ما به دنبال یک مهندس DevOps/پایتون با تجربه هستیم تا یک اپلیکیشن پایتون شامل Streamlit (رابط کاربری) و یک اسکریپت اسکرپینگ که از Selenium/Chromedriver استفاده میکند، را با موفقیت کانتینرایز (Dockerize) کرده و در سرویس Google Cloud Run مستقر نماید.
چالش اصلی این پروژه، ساخت یک Dockerfile بهینه است که مطمئن شود مرورگر Headless کروم و درایور آن، در محیط سرورلس Cloud Run بدون خطا اجرا و کار میکنند.
3. دامنه کاری و خروجیهای مورد انتظار (Scope of Work & Deliverables)
فریلنسر باید موارد زیر را به طور کامل پیادهسازی و تحویل دهد:
الف. داکرایز کردن (Dockerization)
ساخت Dockerfile بهینه و کارآمد:
استفاده از یک ایمیج پایه Slim یا Minimal پایتون (مثل python:3.11-slim) برای کاهش حجم ایمیج.
نصب صحیح و کامل مرورگر Google Chrome Stable و تمامی وابستگیهای سیستمی مورد نیاز آن.
دانلود و نصب Chromedriver با نسخهای که دقیقاً با نسخه کروم نصب شده مطابقت داشته باشد و اطمینان از قرارگیری آن در PATH سیستم کانتینر.
تنظیم ENTRYPOINT یا CMD برای اجرای صحیح اپلیکیشن Streamlit روی پورت و آدرس مورد نیاز Cloud Run (--server.port=8080, --server.address=0.0.0.0).
ب. پیکربندی Selenium و کد پایتون
بازبینی و اصلاح کد: بررسی فایلهای scraper.py و app.py (که در اختیار شما قرار میگیرد) و اطمینان از اینکه:
تابع راهاندازی Selenium، از گزینههای حیاتی Headless مانند --no-sandbox، --disable-dev-shm-usage و --headless استفاده میکند.
در کد پایتون، مسیر درایور (executable path) به صورت دستی مشخص نشده باشد، زیرا فرض بر این است که Dockerfile درایور را به درستی در PATH قرار داده است.
ج. استقرار نهایی (Deployment)
استقرار در Cloud Run: ارسال ایمیج نهایی به Artifact Registry و استقرار آن به عنوان یک سرویس فعال در Google Cloud Run.
تنظیمات منابع: تنظیم صحیح پارامترهای استقرار:
Memory (حافظه): حداقل 2 گیگابایت (2 GiB). (برای کروم ضروری است).
CPU (پردازنده): 1 تا 2 هسته CPU برای اجرای وظایف اسکرپینگ سنگین.
Timeout (مهلت زمانی): تنظیم زمان مهلت روی حداقل 900 ثانیه (15 دقیقه) برای جلوگیری از قطع شدن اسکریپتهای طولانی اسکرپینگ.
4. مهارتها و تجربیات ضروری (Required Skills & Experience)
تخصص اجباری: تسلط کامل بر داکر (Docker)، ساخت ایمیجهای بهینه و چند مرحلهای.
تخصص اجباری: تجربه اثبات شده در استقرار ابزارهای UI Automation مانند Selenium/Chromedriver در محیطهای کانتینری (Docker).
تخصص اجباری: تجربه عملی و قوی در استقرار اپلیکیشنهای پایتون (به ویژه Streamlit) در سرویس Google Cloud Run یا پلتفرمهای سرورلس مشابه (مانند AWS Fargate).
آشنایی با خط فرمان Google Cloud CLI (gcloud) و Artifact Registry.
تجربه کار با کتابخانههای پایتون مانند Streamlit، Selenium و requests.
5. مدت زمان و بودجه (Timeline and Budget)
بودجه: [بودجه ثابت یا محدوده قیمتی خود را مشخص کنید.]
مدت زمان: حداکثر 3 روز برای استقرار و تست کامل.
معیار پذیرش: پروژه زمانی تکمیل شده محسوب میشود که:
سرویس Cloud Run فعال باشد.
با دسترسی به آدرس URL سرویس، رابط کاربری Streamlit قابل مشاهده باشد.
اجرای اسکریپت اسکرپینگ (که توسط Streamlit فراخوانی میشود) با استفاده از Selenium در محیط Cloud Run بدون هیچ خطای درایور/مرورگر به اتمام برسد.
👈 نحوه درخواست
لطفاً در پیشنهادی که ارائه میدهید، بهطور خلاصه تجربههای قبلی خود در زمینه استقرار Selenium در Docker یا Google Cloud Run را ذکر نمایید. (ارائه نمونه کار مشابه یک مزیت بزرگ محسوب میشود).
این آگهی از وبسایت کارلنسر پیدا شده، با زدن دکمهی تماس با کارفرما، به وبسایت کارلنسر برین و از اونجا برای این شغل اقدام کنین.
هشدار
توجه داشته باشید که دریافت هزینه از کارجو برای استخدام با هر عنوانی غیرقانونی است. در صورت مواجهه با موارد مشکوک، با کلیک بر روی «گزارش مشکل آگهی» به ما در پیگیری تخلفات کمک کنید.