استفاده از Hooks در برنامه‌های Flask


Hookها در برنامه‌نویسی به دستوراتی گفته می‌شود که به شما اجازه می‌دهند تا عملکرد یک برنامه را در یک نقطه خاص از فرایند اجرا یا استقرار آن، تغییر یا بهبود دهید؛ بدون اینکه نیاز به تغییر کد اصلی داشته باشید.

در لیارا، شما می‌توانید سه فایل زیر را در مسیر اصلی پروژه خود ایجاد کنید؛ و با توجه به زمان مشخص اجرای هر فایل‌، دستورات موردنیاز خود را در آن‌ها تعریف کنید:

نام هوکزمان اجراامکان دسترسی به envهامناسب برای
liara_pre_build.shقبل از بیلد فایل‌های قسمت فرانت برنامهنداردنصب پکیج‌های سیستمی لازم با apt-get
liara_post_build.shبعد از بیلد فایل‌های قسمت فرانت برنامه ندارداجرای دستورات مرتبط با cache و بهینه‌سازی
liara_pre_start.shقبل از اجرای برنامه داردمناسب اجرای migrationها

به عنوان مثال، می‌توانید در فایل liara_pre_start.sh دستورات مربوط به migrations را بنویسید تا نیازی نباشد که پس از استقرار برنامه، آن را به صورت دستی در خط فرمان برنامه خود، اجرا کنید:

کپی
echo "Running pre-start script..."

# run migrations
flask db upgrade

# other needed commands
# ...

echo "Pre-start script finished."

توجه داشته باشید که در نسخه‌های بدون به‌روزرسانی Python، این قابلیت پشتیبانی نمی‌شود.