Task Queue Processor (dataskq) در DirectAdmin – راهنمای کامل مدیریت صف وظایف، دیباگ و دستورات کاربردی

DirectAdmin بسیاری از عملیات را به‌صورت فوری اجرا نمی‌کند. به‌جای آن، وظایف را در یک صف داخلی ذخیره کرده و پردازنده‌ای به نام dataskq آن‌ها را در بازه‌های زمانی مشخص اجرا می‌کند. این روش باعث کاهش بار سرور، جلوگیری از اجرای تکراری عملیات و افزایش کارایی می‌شود.

Task Queue ProcessorDebugging

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۱۰ اسفند ۱۴۰۴

1. dataskq چیست و چگونه کار می‌کند؟


dataskq پردازنده داخلی DirectAdmin برای اجرای وظایف صف‌شده است. هر زمان عملیاتی نیاز به اجرا داشته باشد، DirectAdmin آن را در فایل task.queue ذخیره می‌کند و dataskq در زمان‌بندی مشخص آن را پردازش می‌کند.

مسیرها و رفتار اصلی:

  • فایل اجرایی: /usr/local/directadmin/dataskq
  • صف وظایف: /usr/local/directadmin/data/task.queue
  • زمان اجرا: هر ۱ دقیقه (قابل تغییر با dataskq_run_interval)
  • رفتار: پس از پردازش، فایل task.queue حذف می‌شود.

مزیت: وظایف مشابه فقط یک بار اجرا می‌شوند (مثلاً reload وب‌سرور پس از چند تغییر).

نکته: پس از تغییرات مهم، حداقل ۱ دقیقه صبر کنید تا dataskq اجرا شود.

---

2. مثال‌هایی از اضافه کردن وظیفه به task.queue


می‌توانید وظایف را به‌صورت دستی به صف اضافه کنید:


# ری‌استارت DirectAdmin
echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue

# بازنویسی کانفیگ وب‌سرور یک کاربر
echo "action=rewrite&value=httpd&user=fred" >> /usr/local/directadmin/data/task.queue

# به‌روزرسانی DirectAdmin
echo "action=update&value=program" >> /usr/local/directadmin/data/task.queue

# اجرای nightly tally برای همه کاربران
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue
---

3. اجرای دستی dataskq


برای اجرای فوری بدون انتظار کرون:


# اجرای معمولی
/usr/local/directadmin/dataskq d

# اجرای دیباگ (سطوح پیشنهادی: d80، d400، d800، d2000)
/usr/local/directadmin/dataskq d2000
---

4. فایل task.queue.cb چیست؟


این فایل توسط CustomBuild استفاده می‌شود و وظایف مربوط به نصب/آپدیت نرم‌افزار را نگه می‌دارد.

مسیر:


/usr/local/directadmin/data/task.queue.cb

برای پردازش فقط وظایف CustomBuild:


/usr/local/directadmin/dataskq d2000 --custombuild
---

5. محدود کردن تعداد نمونه‌های همزمان dataskq


برای جلوگیری از اجرای همزمان چند dataskq (در سرورهای بسیار بزرگ):


da config-set dataskq_max_instances 1 --restart

توصیه: مقدار پیش‌فرض بهتر است. فقط در شرایط خاص آن را تغییر دهید.

---

6. افزایش فرکانس اجرای dataskq


برای اجرای هر ۳۰ ثانیه:


da config-set dataskq_run_interval 30s --restart
---

7. اگر dataskq باعث ۱۰۰٪ CPU شد چه کنیم؟


۱. بررسی لاگ‌ها


tail -n 100 /var/log/directadmin/system.log

۲. دیباگ dataskq


killall -USR1 dataskq
tail -n 10 /var/log/directadmin/errortaskq.log

دلایل رایج:

  • Maildir بزرگ → حذف ایمیل‌های حجیم
  • لاگ‌های brute force بسیار بزرگ → کوتاه کردن brute_log_entries.list
---

8. مشکلات رایج و راه‌حل‌ها


8.1 ریست ماهانه پهنای باند انجام نشده

اگر کرون اجرا نشده بود:


echo "action=cleanreset&value=all" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue

فقط tally پهنای باند:


echo "action=bandwidthtally&value=all" >> /usr/local/directadmin/data/task.queue

tally کوتا:


echo "action=quotatally&value=all" >> /usr/local/directadmin/data/task.queue

بازنویسی DNS zone:


echo "action=rewrite&value=named&domain=domain.com" >> /usr/local/directadmin/data/task.queue

بازنویسی httpd برای یک کاربر:


echo "action=rewrite&value=httpd&user=fred" >> /usr/local/directadmin/data/task.queue
---

9. لیست دستورات مهم task.queue


  • ری‌استارت سرویس‌ها: action=rewrite&value=exim یا dovecot
  • بازسازی DKIM: action=rewrite&value=dkim
  • تبدیل mail partition: action=convert&value=mail_partition
  • به‌روزرسانی لایسنس: action=update&value=license
  • بک‌آپ کاربر: action=backup&type=user&value=john
  • ریستور کاربر: action=restore&type=user&value=john
  • حذف دامنه: action=delete&value=domain&select0=domain.com
  • ارسال پیام به ادمین: action=notify&value=admin&subject=...&message=...

نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل پیکربندی کلاینت‌های ایمیل، هشدارهای quota در Dovecot و بررسی آخرین لاگین‌ها در DirectAdmin

این مقاله یک مرجع جامع برای کاربران و مدیران DirectAdmin است. در این راهنما یاد می‌گیرید چگونه ایمیل را روی iPhone، Thunderbird و Gmail تنظیم کنید، هشدارهای پر شدن quota را در Dovecot فعال کنید و با یک اسکریپت ساده، آخرین زمان لاگین تمام حساب‌های ایمیل را مشاهده کنید.

ادامه

عیب‌یابی Dovecot در DirectAdmin – رفع خطاهای IMAP، مشکلات احراز هویت و بررسی گواهی SSL

Dovecot سرویس اصلی IMAP/POP3 در DirectAdmin است. گاهی کاربران هنگام ورود به وب‌میل یا کلاینت ایمیل با خطاهایی مثل "Connection dropped" یا "unknown user" مواجه می‌شوند. این مقاله یک راهنمای کامل برای رفع خطاهای رایج Dovecot، پاک‌سازی ایندکس‌ها، بررسی دیتابیس‌های احراز هویت و تست گواهی SSL روی پورت‌های 143 و 993 است.

ادامه

عیب‌یابی DNS در DirectAdmin – وقتی named اجرا می‌شود اما دامنه resolve نمی‌شود

گاهی سرویس named (BIND) روی سرور اجرا می‌شود اما دامنه‌ها resolve نمی‌شوند یا از بیرون پاسخ DNS دریافت نمی‌شود. این مقاله یک راهنمای کامل برای بررسی listen، فایروال، تنظیمات named.conf، propagation، رکوردهای اشتباه، مشکلات ساب‌دامین، resolv.conf و خطاهای رایج DNS در DirectAdmin است.

ادامه

مدیریت رکوردهای DNS در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DirectAdmin ابزارهای قدرتمندی برای مدیریت DNS ارائه می‌دهد: از کاهش TTL برای جلوگیری از downtime، تا ساخت رکوردهای SRV، فعال‌سازی DNSSEC، مدیریت delegation ساب‌دامین‌ها، افزودن خودکار TLSA برای DANE و حتی تغییرات گروهی (Mass Update) روی همه دامنه‌ها. این مقاله یک مرجع کامل برای مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

DNS و Nameserverها در DirectAdmin – راهنمای کامل، کاربردی و حرفه‌ای

DNS ستون فقرات اینترنت است و وظیفه دارد نام دامنه را به IP تبدیل کند. در DirectAdmin می‌توان Nameserverهای اختصاصی ساخت، DNS را مدیریت کرد، DNS Clustering راه‌اندازی کرد و حتی از DNS خارجی استفاده نمود. این مقاله یک راهنمای جامع برای درک DNS، ساخت ns1/ns2، تنظیم Glue Record، رفع خطاها و مدیریت حرفه‌ای DNS در DirectAdmin است.

ادامه

CustomBuild در DirectAdmin – راهنمای کامل نصب، به‌روزرسانی، پیکربندی و سفارشی‌سازی پیشرفته

CustomBuild ابزار اصلی DirectAdmin برای مدیریت سرویس‌ها و نرم‌افزارهای سرور است. این ابزار وب‌سرور، PHP، دیتابیس، ایمیل، FTP و بسیاری از کامپوننت‌های دیگر را نصب، به‌روزرسانی و پیکربندی می‌کند. به دلیل کامپایل از سورس، CustomBuild انعطاف‌پذیری بسیار بالا، سرعت دسترسی به نسخه‌های جدید و مصرف منابع بهینه را فراهم می‌کند.

ادامه