برنامه ادو با نوشتن یک دستور پایتون اجرا می شود. اما اگر بخواهیم که ادو همیشه در حال اجرا باشد و پس از بالا آمدن لینوکس ، ادو هم اجرا شود باید یک سرویس برای این کار بسازیم. نحوه ساخت سرویس در ubuntu به این صورت است که در مسیر /etc/systemm/system فایل با نام دلخواه درست می کنیم و کانفیگ سرویس رو در آنجا می گذاریم. در ادامه نمونه سرویس و توضیحاتی از آن آورده شده است


[Unit]
Description=Odoo 18 Service
Requires=postgresql.service
After=network.target nginx.service postgresql.service 

[Service]
Type=simple
SyslogIdentifier=odoo18
PermissionsStartOnly=true
User=root
Group=root
WorkingDirectory=/opt/odoo18
ExecStart=/opt/odoo18/odoo-venv/bin/python3 /opt/odoo18/odoo-bin -c /opt/odoo18/odoo.conf --dev xml
Restart=on-failure
RestartSec=5s
#StandardOutput=append:/var/log/odoo/odoo.log
#StandardError=append:/var/log/odoo/odoo.log

[Install]
WantedBy=multi-user.target


و اما توضیحاتی از کانفیگ :

    • خط 4 : این رو بیان می کنه که قبلا از اجرای سرویس ادو ، صبر کن تا این سرویس ها اجرا شوند
    • خط 8: اسم سرویس هست که در ابونتو با این اسم سرویس رو مدیریت می کنیم
    • خط 10 و 11 : یوزری هست که می خواهیم با آن یوزر سرویس رو اجرا کنیم مسلما این یوزر باید دسترسی اجرای این سرویس رو داشته باشه که من برای اطمینان از root استفاده کردم
    • خط 13: اجرا دستور هست. نکته ای که در اینجا هست اینه که خود دستور و پارامترهای آن رو باید با آدرس کامل آنها بنویسیم و اینکه دقت داشته باشید اگر از venv استفاده می کنید، پایتون رو از آن مسیر اجرا کنید.
    • خطوط 16 و 17 : برای دریافت خطاهایی که از اجرای سرویس ایجاد می شد است که در مسیر تعریف شده آنها رو می تونید پیدا کنید. من اونها رو کامنت کردم که سرعت سیستم کم نشه و هر وقت که دچار مشکل شد، اونها رو فعال می کنم

پس از ساخت سرویس نوبت فعال سازی و اجرای آن است.


sudo systemctl enable odoo18.service
sudo systemctl start odoo18.service

برای دیدن وضعیت سروین هم از دستور زیر می توانید استفاده کنید:

sudo systemctl status odoo18.service

لطفا از سوالات و پیشنهادات خود کامنت بگذارید، متشکرم

پیام بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *