پیشنیازهای این آموزش
- پروژه دارای
Imageقابل اجرا و فرمان مناسب پردازش باشد. - فرمان را طوری طراحی کنید که تکرار آن داده یا پرداخت تکراری نسازد.
آموزش مرحلهبهمرحله
- در پروژه بخش «فرایندهای پروژه» را باز کنید و «افزودن فرایند» را بزنید.
- نوع
Worker،CronیاJob، نام و فرمان را انتخاب کنید. - برای
Cronزمانبندی و برای پردازش دائمی تعداد نمونه و منابع را بررسی کنید. - اتصال دیسک و مبلغ را مرور کنید و ساخت را تأیید کنید.
- وضعیت و لاگ همان فرایند را ببینید؛
Jobدستی را فقط وقتی آماده اجرای واقعی هستید اجرا کنید.

توضیحات تکمیلی
Web و Worker را جدا کنید
برای پردازش صف، یک Worker با همان Image پروژه و فرمان مستقل بسازید. Worker دامنه عمومی نمیگیرد و منابع، تعداد نمونه، لاگ و Restart آن جدا از سرویس وب کنترل میشود.
Cron بسازید
در افزودن فرایند، نوع Cron، فرمان و زمانبندی را انتخاب کنید. زمانبندی بر اساس ساعت تهران است. وضعیت و لاگ فرایند را پس از اجرا بررسی کنید.
Job دستی
برای migration، import یا کار یکباره از صفحه پردازشها Job اجرا کنید. نسخه Image، متغیرها و دیسکهای پروژه را انتخاب کنید و نتیجه خروج، مدت اجرا و لاگ کامل را ببینید.
Release Command
فرمان Release پیش از انتشار نسخه وب و با همان Image و Secretهای نسخه جدید اجرا میشود. برای migration دیتابیس مناسب است. اگر فرمان با کد غیرصفر خارج شود، انتشار متوقف و نسخه فعلی بدون تغییر باقی میماند.
منابع و هزینه
هر پردازش پلن یا منابع مشخص دارد. پردازش دائمی مانند Worker طبق شیوه پرداخت پروژه محاسبه میشود؛ Job و Cron فقط مدت اجرای واقعی را مصرف میکنند و در گزارش هزینه پروژه قابل تفکیکاند.
عیبیابی
Exit code، OOMKilled، timeout و خطای Image در صفحه هر اجرا نشان داده میشوند. برای کارهای قابل تکرار، فرمان را idempotent بنویسید تا اجرای دوباره بعد از خطای شبکه داده تکراری نسازد.
نتیجه را چگونه بررسی کنید؟
فرایند با فرمان درست اجرا میشود و نتیجه آن در لاگ و داده برنامه قابل بررسی است؛ Worker دامنه عمومی ندارد.
اگر به مشکل خوردید
- فرمان باید داخل
Imageپروژه وجود داشته باشد و متغیرهای لازم در دسترس باشند. - اتصال دیسک تکاتصالی به چند اجرای همزمان میتواند مانع شروع شود؛ وضعیت اتصال را بررسی کنید.