-
Notifications
You must be signed in to change notification settings - Fork 2
Home
nTask is a distributed task management program that allows you to distribute tasks, commands, or programs across multiple computers. It utilizes API communications and WebSockets to facilitate seamless communication between the manager and workers. The program consists of a manager component that handles task requests from clients and distributes them to available workers. The workers execute the tasks and send the execution results back to the manager, which then stores the results in a database. Additionally, the results can be sent to a specified URL/API for further processing.
You can connect another API, Telegram bot ot a simple bash script to the manager API to process tasks. To test and see how to make API requests you can use the swagger flag to access the web server with the documentation:
-
API-based Task Management: nTask provides an API that allows users to manage tasks, enabling integration with other systems and services.
-
WebSockets: The manager and workers establish communication channels using WebSockets, ensuring real-time and efficient task distribution.
-
Scalability: nTask supports multiple workers, allowing parallel execution of tasks across a distributed network.
-
Database Integration: The program utilizes a MySQL database to store task information, ensuring data persistence and easy retrieval.
-
Configuration Flexibility: Task modules can be easily configured using a JSON file, providing flexibility in defining task behavior.
-
Secure Task Execution: Each worker can authenticate using a unique token, ensuring secure task execution.
-
Parallel Task Execution: Each worker can be configured to execute a configurable number of tasks simultaneously, improving overall performance.
-
File Support: nTask supports sending files as part of a task and allows users to specify a custom path for saving the files.
-
Secure Communication: TLS support enables secure communication between the manager and workers, with certificate verification for added security.
-
Optional SSH Tunneling: nTask provides the option to use SSH tunneling to securely send the manager API port to clients without exposing it.
-
Multi-Platform Support: nTask is compatible with both Linux and Windows operating systems, ensuring broad platform compatibility.
-
Docker Support: The program is Docker and Docker Compose ready, simplifying deployment and management.
-
OAuth Support: Multiple users can be managed in the manager using OAuth tokens, enhancing security and access control.
-
Dynamic IP Compatibility: nTask is compatible with dynamic IPs, both for workers and the manager (when using SSH tunneling).
-
Callback Option: Users can configure callback options for task execution, enabling further processing or notifications.
-
Logging: Output logging to file is supported, facilitating easy tracking and analysis of task execution.
-
Documentation and Web Interface: nTask provides Swagger documentation for easy integration and interaction with the API, along with an optional web interface for a more user-friendly experience.