Skip to content

Commit

Permalink
docs: update python platform
Browse files Browse the repository at this point in the history
  • Loading branch information
A-Najmabadi committed Nov 13, 2024
1 parent b01fa95 commit d3faacb
Show file tree
Hide file tree
Showing 5 changed files with 48 additions and 96 deletions.
40 changes: 24 additions & 16 deletions src/components/Sidebar/data.js
Original file line number Diff line number Diff line change
Expand Up @@ -1769,13 +1769,21 @@ export default {
link: "/paas/python/how-tos/use-disk"
},
{
title: "تنظیم Nginx",
link: "/paas/python/how-tos/customize-nginx"
title: "استفاده از Supervisord",
link: "/paas/python/how-tos/use-supervisord"
},
{
title: "فعال‌سازی قابلیت gzip",
link: "/paas/python/how-tos/enable-gzip"
title: "استفاده از ماژول FFMPEG",
link: "/paas/python/how-tos/use-ffmpeg-module"
},
// {
// title: "تنظیم Nginx",
// link: "/paas/python/how-tos/customize-nginx"
// },
// {
// title: "فعال‌سازی قابلیت gzip",
// link: "/paas/python/how-tos/enable-gzip"
// },
{
title: "استفاده از Hookها",
link: "/paas/python/how-tos/use-hooks"
Expand All @@ -1792,18 +1800,18 @@ export default {
// title: "راه‌اندازی برنامه WebSocket",
// link: "/paas/python/how-tos/use-websocket"
// },
{
title: "تنظیم تعداد workerهای Gunicorn",
link: "/paas/python/how-tos/set-gunicorn-workers"
},
{
title: "تنظیم max_request در Gunicorn",
link: "/paas/python/how-tos/set-gunicorn-maxrequest"
},
{
title: "تنظیم هدرهای امنیتی HTTP",
link: "/paas/python/how-tos/set-http-security-headers"
},
// {
// title: "تنظیم تعداد workerهای Gunicorn",
// link: "/paas/python/how-tos/set-gunicorn-workers"
// },
// {
// title: "تنظیم max_request در Gunicorn",
// link: "/paas/python/how-tos/set-gunicorn-maxrequest"
// },
// {
// title: "تنظیم هدرهای امنیتی HTTP",
// link: "/paas/python/how-tos/set-http-security-headers"
// },
{
title: "تنظیم لاگ‌ها",
link: "/paas/python/how-tos/set-logs"
Expand Down
35 changes: 1 addition & 34 deletions src/pages/paas/python/how-tos/deploy-app.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -127,23 +127,7 @@ tzdata==2024.1
اگر که برنامه‌تان وب‌سرور است و در پورت خاصی (به جز ۳۰۰۰) به درخواست کاربران گوش می‌دهد، باید در فیلد <Important>port</Important>، پورت برنامه را مشخص کنید.
البته اگر که برنامه‌تان نیازی به پورت ندارد، می‌توانید این فیلد را از فایل <Important>liara.json</Important>، پاک کنید
</p>
<div className="h-4" />
<p>
در صورتی که قصد دارید دستورات مدنظرتان، پس از استقرار برنامه، اجرا شوند؛ می‌توانید در فایل <Important>liara.json</Important> در آرایه‌ای به نام <Important>args</Important> آن‌ها را مشابه قطعه کد زیر، مشخص کنید:
</p>
<div className="h-4" />
<div dir='ltr'>
<Highlight className="json">
{`{
"args": [ "python3 app.py" ]
}
}`}
</Highlight>
</div>
<div className='h-4' />
<p>
در صورت مشخص نکردن <Important>args</Important>، لیارا به صورت خودکار، دستور <Important>python3 main.py</Important> را، اجرا خواهد کرد.
</p>

<div className="h-4" />
<p>
از آنجایی که لیارا برای نصب پکیج‌های فایل <Important>requirements.txt</Important>، از <Important>mirror</Important> اختصاصی خود استفاده می‌کند؛ از همین رو، ممکن است که در نصب برخی از پکیج‌های جدید، دچار مشکل شود. برای رفع این مشکل، می‌توانید mirror لیارا را با قراردادن قطعه کد زیر در فایل <Important>liara.json</Important>، غیرفعال کنید:
Expand Down Expand Up @@ -282,23 +266,6 @@ tzdata==2024.1
}`}
</Highlight>
</div>
<div className='h-4' />
<p>
در صورتی که قصد دارید دستورات مدنظرتان، پس از استقرار برنامه، اجرا شوند؛ می‌توانید در فایل <Important>liara.json</Important> در آرایه‌ای به نام <Important>args</Important> آن‌ها را مشابه قطعه کد زیر، مشخص کنید:
</p>
<div className="h-4" />
<div dir='ltr'>
<Highlight className="json">
{`{
"args": [ "python3 app.py" ]
}
}`}
</Highlight>
</div>
<div className='h-4' />
<p>
در صورت مشخص نکردن <Important>args</Important>، لیارا به صورت خودکار، دستور <Important>python3 main.py</Important> را، اجرا خواهد کرد.
</p>
<div className="h-4" />

<p>
Expand Down
33 changes: 5 additions & 28 deletions src/pages/paas/python/how-tos/use-ffmpeg-module.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,19 +14,19 @@ import Head from "next/head";

<Layout>
<Head>
<title>مستندات استفاده از FFMPEG در Django - لیارا</title>
<title>مستندات استفاده از FFMPEG در Python - لیارا</title>

<meta property="og:title" content="مستندات خدمات رایانش ابری لیارا" />
<meta property="og:description" content="مستندات نحوه استفاده از FFMPEG در پلتفرم Django در لیارا" />
<meta property="og:description" content="مستندات نحوه استفاده از FFMPEG در پلتفرم Python در لیارا" />
<meta property="og:image" content="https://files.liara.ir/liara/logos/liara-poster.jpg" />
</Head>
# استفاده از ماژول FFMPEG در Django
# استفاده از ماژول FFMPEG در Python
<hr className="mb-2" />

<a href="https://ffmpeg.org/" className="text-[#2196f3] ">FFMPEG</a> یک نرم‌افزار متن‌باز برای پردازش چندرسانه‌ای است که قابلیت ضبط، تبدیل، پخش ویدیوی زنده و پخش استریمی (streaming) را دارد. این ابزار بسیار قدرتمند است و برای انواع مختلفی از فرمت‌های صوتی و تصویری، قابلیت‌ها و توابع متنوعی ارائه می‌دهد.

ماژول FFMPEG به‌صورت پیش‌فرض در برنامه‌های Django نصب است و همچنین متغیرهای محیطی <Important>FFMPEG_PATH</Important> و <Important>FFPROBE_PATH</Important> در این پلتفرم تنظیم شده‌اند.
برای استفاده از FFmpeg در برنامه‌های Django، می‌توانید از کتابخانه‌های پایتون برای تعامل با FFmpeg استفاده کنید. یکی از محبوب‌ترین کتابخانه‌ها برای این کار، <Important>ffmpeg-python</Important> است که می‌توانید با اجرای دستور زیر، آن را نصب کنید:
ماژول FFMPEG به‌صورت پیش‌فرض در برنامه‌های Python نصب است و همچنین متغیرهای محیطی <Important>FFMPEG_PATH</Important> و <Important>FFPROBE_PATH</Important> در این پلتفرم تنظیم شده‌اند.
برای استفاده از FFmpeg در برنامه‌های Python، می‌توانید از کتابخانه‌های پایتون برای تعامل با FFmpeg استفاده کنید. یکی از محبوب‌ترین کتابخانه‌ها برای این کار، <Important>ffmpeg-python</Important> است که می‌توانید با اجرای دستور زیر، آن را نصب کنید:

<div className='h-2' />
<div dir='ltr'>
Expand Down Expand Up @@ -62,27 +62,4 @@ def convert_video(input_file_path, output_file_path, codec='libx264'):
</div>
<div className="h-2" />

یا حتی می‌توانید در viewهای Django، از این پکیج استفاده کنید؛ به عنوان مثال:

<div className='h-2' />
<div dir='ltr'>
<Highlight className="python">
{`from django.http import HttpResponse
from .ffmpeg_utils import convert_video
def process_video(request):
input_file = '/path/to/input/video.mp4'
output_file = '/path/to/output/video.mp4'
try:
convert_video(input_file, output_file)
return HttpResponse("Video processed successfully.")
except Exception as e:
return HttpResponse(f"Error processing video: {e}", status=500)
`}
</Highlight>
</div>
<div className="h-2" />


</Layout>
4 changes: 2 additions & 2 deletions src/pages/paas/python/how-tos/use-hooks.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -38,13 +38,13 @@ Hookها در برنامه‌نویسی به دستوراتی گفته می‌ش
]} data={[
[
"liara_pre_build.sh",
"قبل از بیلد فایل‌های قسمت فرانت برنامه",
"قبل از بیلد برنامه",
"ندارد",
"نصب پکیج‌های سیستمی لازم با apt-get",
],
[
"liara_post_build.sh",
"بعد از بیلد فایل‌های قسمت فرانت برنامه ",
"بعد از بیلد برنامه ",
"ندارد",
"اجرای دستورات مرتبط با cache و بهینه‌سازی",
],
Expand Down
32 changes: 16 additions & 16 deletions src/pages/paas/python/how-tos/use-supervisord.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -14,34 +14,34 @@ import Head from "next/head";

<Layout>
<Head>
<title>مستندات استفاده از Supervisord در Django - لیارا</title>
<title>مستندات استفاده از Supervisord در Python - لیارا</title>

<meta property="og:title" content="مستندات خدمات رایانش ابری لیارا" />
<meta property="og:description" content="مستندات نحوه استفاده از Supervisord در پلتفرم Django در لیارا" />
<meta property="og:description" content="مستندات نحوه استفاده از Supervisord در پلتفرم Python در لیارا" />
<meta property="og:image" content="https://files.liara.ir/liara/logos/liara-poster.jpg" />
</Head>
# استفاده از Supervisord در برنامه‌های Django
# استفاده از Supervisord در برنامه‌های Python
<hr className="mb-2" />

<a href="http://supervisord.org/" className="text-[#2196f3] ">supervisord</a> یک ابزار مدیریتی است که برای اجرا و کنترل فرآیندهای پس‌زمینه (background processes) طراحی شده است. این ابزار می‌تواند برای مدیریت سرویس‌های مختلف در یک محیط واقعی، مورد استفاده قرار گیرد.

شما می‌توانید در مسیر اصلی پروژه، یک فایل به نام <Important>supervisor.conf</Important> ایجاد کنید و درون این فایل، Workerهای خود را برای اجرای background jobها، تعریف کنید. به عنوان مثال، برای ایجاد یک Worker در یک برنامه <a href="/paas/django/related-apps/celery" className="text-[#2196f3] ">celery</a>، می‌توانید از قطعه کد زیر استفاده کنید:
شما می‌توانید در مسیر اصلی پروژه، یک فایل به نام <Important>supervisor.conf</Important> ایجاد کنید و درون این فایل، Workerهای خود را برای اجرای background jobها، تعریف کنید.
به عنوان مثال:

<div className="h-2" />
<div dir="ltr">
<Highlight className='conf'>
{`[program:celery-worker]
process_name=%(program_name)s_%(process_num)02d
command=celery -A proj worker -l INFO
autostart=true
autorestart=true
stopasgroup=true
killasgroup=true
numprocs=1
startsecs=10
stopwaitsecs=600
redirect_stderr=true
stdout_logfile=/tmp/worker.log`}
{`[supervisord]
logfile=/tmp/supervisord.log ; مسیر فایل لاگ
pidfile=/tmp/supervisord.pid ; مسیر فایل پی‌آیدی
[program:my_script]
command=python /path/to/my_script.py ; دستوری که باید اجرا شود
autostart=true ; اجرای خودکار پس از استارت
autorestart=true ; ری‌استارت خودکار در صورت کرش
stderr_logfile=/tmp/my_script_err.log ; مسیر لاگ ارورها
stdout_logfile=/tmp/my_script_out.log ; مسیر لاگ خروجی‌ها
`}
</Highlight>
</div>
<div className="h-2" />
Expand Down

0 comments on commit d3faacb

Please sign in to comment.