Task Queue Processor (dataskq) in DirectAdmin – Complete Guide to Task Queue Management, Debugging, and Common Operations

DirectAdmin does not execute many operations immediately. Instead, it uses an internal task processor called dataskq, which collects tasks in a queue and processes them periodically. This mechanism improves performance, prevents redundant operations, and ensures efficient system behavior.

Task Queue ProcessorDebugging

~3 min read · Updated Mar 1, 2026

1. What Is dataskq and How Does It Work?


The Task Queue Processor, known as dataskq, is responsible for executing queued operations inside DirectAdmin. Rather than performing actions instantly, DirectAdmin writes tasks into a queue file and lets dataskq process them at scheduled intervals.

Key paths and behavior:

  • Binary: /usr/local/directadmin/dataskq
  • Task queue Error! Hyperlink reference not valid. /usr/local/directadmin/data/task.queue
  • Execution frequency: Once per minute by default (configurable via dataskq_run_interval)
  • Behavior: After processing, task.queue is deleted. It is normal for the file to not exist at times.

Benefit: Similar tasks (e.g., multiple domain additions requiring a webserver reload) are grouped and executed only once.

Note: After major changes (e.g., enabling SSL, adding a domain), wait at least one minute for dataskq to run.

---

2. Common Examples of Adding Tasks to task.queue


You can manually append tasks to the queue:


# Restart DirectAdmin
echo "action=directadmin&value=restart" >> /usr/local/directadmin/data/task.queue

# Rewrite a user's webserver configuration
echo "action=rewrite&value=httpd&user=fred" >> /usr/local/directadmin/data/task.queue

# Update DirectAdmin
echo "action=update&value=program" >> /usr/local/directadmin/data/task.queue

# Run nightly tally for all users
echo "action=tally&value=all" >> /usr/local/directadmin/data/task.queue
---

3. Running dataskq Manually


You can run dataskq manually without waiting for cron:


# Normal execution
/usr/local/directadmin/dataskq d

# Debug mode (recommended levels: d80, d400, d800, d2000)
/usr/local/directadmin/dataskq d2000
---

4. What Is task.queue.cb?


task.queue.cb is used by CustomBuild for software installation and update tasks.

Path:


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

To process only CustomBuild tasks:


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

5. Limiting the Number of dataskq Instances


To prevent multiple simultaneous dataskq processes (useful on very large servers):


da config-set dataskq_max_instances 1 --restart

Recommendation: Keep the default (multiple instances allowed). Only adjust if you experience heavy load.

---

6. Increasing dataskq Execution Frequency


To run dataskq more frequently than once per minute:


da config-set dataskq_run_interval 30s --restart

This runs dataskq every 30 seconds.

---

7. What If dataskq Causes 100% CPU Usage?


Step 1: Check system logs


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

Step 2: Debug dataskq


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

Common causes:

  • Large Maildir inbox → delete heavy emails
  • Huge brute-force logs → trim brute_log_entries.list
---

8. Common Issues and Fixes


8.1 Monthly bandwidth reset not running

Ensure cron ran at 4:20 AM on the first day of the month. If not, run manually:


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

Bandwidth-only tally:


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

Quota tally:


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

Rewrite DNS zone:


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

Rewrite httpd for a user:


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

9. Useful task.queue Commands


  • Restart services: action=rewrite&value=exim or dovecot
  • Rebuild DKIM: action=rewrite&value=dkim
  • Mail partition conversion: action=convert&value=mail_partition
  • Update license: action=update&value=license
  • User backup: action=backup&type=user&value=john
  • User restore: action=restore&type=user&value=john
  • Delete domain: action=delete&value=domain&select0=domain.com
  • Send admin notification: action=notify&value=admin&subject=...&message=...

Written & researched by Dr. Shahin Siami

Related Articles

Email Client Configuration & Dovecot Quota/Monitoring Guide for DirectAdmin Users

This guide explains how to configure popular email clients (iPhone Mail, Thunderbird, Gmail POP/SMTP), enable Dovecot LMTP quota warnings, and check the last login time for all email accounts on a DirectAdmin server. It includes step by step instructions, recommended IMAP/SMTP settings, and useful administrative scripts.

Continue

Troubleshooting Dovecot in DirectAdmin – Fixing IMAP Errors, Authentication Issues, and SSL Certificate Checks

Dovecot is the IMAP/POP3 server used by DirectAdmin. Sometimes users encounter errors such as “Connection dropped by IMAP server” or “unknown user” during authentication. This guide explains how to fix corrupted Dovecot indexes, understand authentication logs, hide unnecessary warnings, and manually inspect SSL certificates on IMAP ports 143 and 993.

Continue

DNS Troubleshooting in DirectAdmin – When named is Running but Domains Do Not Resolve

Sometimes the named (BIND) service runs normally, yet DNS queries fail or domains do not resolve from outside. This guide provides a complete troubleshooting workflow for checking named listeners, firewall rules, named.conf configuration, DNS propagation issues, subdomain problems, resolv.conf errors, and common Apache/Nginx misconfigurations.

Continue

Managing DNS Records in DirectAdmin – Complete Practical Guide for Administrators

DirectAdmin provides a powerful DNS management system that allows administrators to control TTL values, create SRV records, enable DNSSEC, manage subdomain delegation, automate TLSA records, and perform mass DNS updates. This guide explains all essential DNS operations in DirectAdmin with real-world examples and best practices.

Continue

DNS and Nameservers in DirectAdmin – Complete, Practical, and Professional Guide

DNS is the backbone of the internet, responsible for translating domain names into IP addresses. DirectAdmin allows you to create private nameservers (ns1/ns2), manage DNS zones, configure DNS clustering, use external DNS, and troubleshoot common issues. This guide provides a complete, clear, and practical explanation of DNS concepts and their implementation in DirectAdmin.

Continue

CustomBuild in DirectAdmin – Complete Guide to Installation, Updates, Configuration, and Advanced Customization

CustomBuild is DirectAdmin’s primary software management system. It installs, updates, configures, and rebuilds essential services such as Apache, Nginx, PHP, MariaDB/MySQL, Exim, Dovecot, FTP servers, and more. Because most components are compiled from source, CustomBuild offers exceptional flexibility, fast access to new versions, and optimized performance.

Continue