هيكل الدليل
عندما تقوم بتهيئة دليل frappe-bench جديد، سيكون لديك هيكل دليل مشابه لما يلي:
.
├── apps
│ └── frappe
├── config
│ ├── redis_cache.conf
│ ├── redis_queue.conf
│ └── redis_socketio.conf
├── env
├── logs
├── Procfile
└── sites
├── apps.txt
├── assets
├── common_site_config.json
└── site1.local
├── private
├── public
└── site_config.json
التطبيقات
يوجد تطبيق frappe وتطبيقات أخرى قائمة على frappe في هذا الدليل. عندما تقوم بتشغيل الأمر bench new-app app_name، سيتم بدء تشغيل التطبيق في هذا الدليل. توجد تطبيقاتك المخصصة هنا ومن المفترض أن تقوم بتحريرها والعمل معها هنا.
تعرف على المزيد حول التطبيقات.
الموقع
يتم تقديم المواقع من هذا الدليل. عندما تقوم بتشغيل الأمر bench new-site site_name، سيتم إنشاء الموقع في هذا الدليل. يتم تمييز المواقع بناءً على اسم الدليل الخاص بهم.
تعرف على المزيد حول المواقع.
السجلات
يُستخدم هذا الدليل لتفريغ ملفات السجلات من العمليات المختلفة. يتم تسمية كل ملف سجل بناءً على العملية التي تم تسجيلها منه.
config
يستخدم Frappe 3 مثيلات من Redis لإدارة التخزين المؤقت، وقائمة انتظار الوظائف، واتصال socketio. توجد جميع تلك التكوينات هنا.
env
توجد بيئة Python الافتراضية في هذا الدليل. يتم تثبيت تطبيقات Frappe القائمة وتبعيات حزم Python هنا.
Procfile
يستخدم Frappe إدارة العمليات القائمة على Procfile. يبدو Procfile الافتراضي شيئًا كالتالي:
redis_cache: redis-server config/redis_cache.conf
redis_socketio: redis-server config/redis_socketio.conf
redis_queue: redis-server config/redis_queue.conf
web: bench serve --port 8000
socketio: /usr/bin/node apps/frappe/socketio.js
watch: bench watch
schedule: bench schedule
worker_short: bench worker --queue short --quiet
worker_long: bench worker --queue long --quiet
worker_default: bench worker --queue default --quiet
دعنا نرى ما تُستخدم كل عملية من أجله.
| العملية | الوصف |
|---|---|
| redis_cache | Redis المستخدم للتخزين المؤقت في الذاكرة. |
| redis_socketio | Redis المستخدم كنظام نشر/اشتراك بين عمليات الويب و socketio للاتصال الفوري. |
| redis_queue | Redis المستخدم لإدارة قوائم انتظار الوظائف في الخلفية. |
| web | خادم ويب Python يعتمد على Werkzeug. |
| socketio | خادم Node لاتصال socketio مع المتصفح للاتصال الفوري. |
| watch | خادم Node لحزم أصول JS/CSS باستخدام Rollup. سيعيد أيضًا بناء الملفات عند تغييرها. |
| schedule | مجدول الوظائف باستخدام Python RQ. |
| worker_short | عامل Python مع مهلة (قصيرة) تبلغ 300 ثانية. |
| worker_long | عامل Python مع مهلة (طويلة) تبلغ 1500 ثانية. |
| worker_default | عامل Python مع مهلة تبلغ 300 ثانية. |