
پیش از شروع
- این راهنما را با یک پروژه آزمایشی یا منبعی که مجاز به تغییر آن هستید دنبال کنید.
- هزینه و اثر حذف یا جایگزینی داده در مرحله تأیید نهایی دوباره نمایش داده میشود.
- پس از هر تغییر، نتیجه مورد انتظار همان مرحله را در وضعیت پروژه، رخدادها یا گزارش فعالیت بررسی کنید.
Worker را مستقیم بسازید
هنگام ساخت پروژه از سورس آپلودی یا Git، نوع اجرا را روی «Worker پسزمینه» بگذارید. Image مستقیماً ساخته و بدون دامنه، Service عمومی یا Health Check HTTP اجرا میشود. هزینه فقط براساس همان پلن پروژه محاسبه میشود.
Web و Worker را جدا کنید
اگر یک پروژه وب دارید و پردازش صف جدا هم میخواهید، در صفحه پروژه یک Worker با همان Image و فرمان مستقل بسازید. منابع، تعداد نمونه، لاگ و Restart آن جدا از سرویس وب کنترل میشود.
Cron بسازید
زمانبندی را با عبارت Cron و منطقه زمانی تهران تعریف کنید. فرمان، timeout، محدودیت همزمانی و تعداد اجرای موفق یا ناموفق قابل نگهداری مشخص میشود. هر اجرا یک Job مستقل با لاگ قابل مشاهده است.
Job دستی
برای migration، import یا کار یکباره از صفحه پردازشها Job اجرا کنید. وضعیت آخرین اجرا، مدت و لاگ همانجا بهروز میشود. فرمانهایی که در محیط Production تأیید میخواهند باید گزینه اجرای غیرتعاملی، مانند --force در Laravel، داشته باشند.
Release Command
فرمان Release پیش از انتشار نسخه وب و با همان Image و Secretهای نسخه جدید اجرا میشود. برای migration دیتابیس مناسب است. اگر فرمان با کد غیرصفر خارج شود، انتشار متوقف و نسخه فعلی بدون تغییر باقی میماند.
منابع و هزینه
هر پردازش پلن یا منابع مشخص دارد. پردازش دائمی مانند Worker طبق شیوه پرداخت پروژه محاسبه میشود؛ Job و Cron فقط مدت اجرای واقعی را مصرف میکنند و در گزارش هزینه پروژه قابل تفکیکاند.
عیبیابی
Exit code، OOMKilled، timeout و خطای Image در صفحه هر اجرا نشان داده میشوند. برای کارهای قابل تکرار، فرمان را idempotent بنویسید تا اجرای دوباره بعد از خطای شبکه داده تکراری نسازد.