Tasky - what i want
Table of Contents
Tasky is a lightweight process manager for Nodejs applications and other processes. With an intuitive command-line interface, it helps you easily manage, monitor, and track your processes in real time. Ideal for simple use cases and smaller applications.
Features#
- Start, Stop, and Manage Processes: Control your applications with simple commands.
- Real-Time Resource Monitoring: Track CPU and memory usage on the fly.
- Live Log Viewing: View real-time logs of your processes.
- Persistent Process Information: Logs and process data are saved for later reference.
- Lightweight & Intuitive: Simple, fast, and easy-to-use tool for process management.
Installation#
Clone the Repository#
To get started, clone the repository:
git clone https://github.com/tashikomaaa/tasky.git
cd tasky
Install Dependencies#
Install the necessary dependencies with npm:
bash install.sh
Usage#
Start Tasky with Node.js:
tasky <command>
Available Commands#
Start a Process#
Launch a new process by specifying its name and script path:
tasky start <name> <script>
Example:
tasky start my-app ./app.js
Stop a Process#
Terminate a process by its PID:
tasky stop <pid>
Example:
tasky stop 12345
List Running Processes#
List all currently running processes:
tasky list
Example Output:
Running processes:
- my-app (PID: 12345, Script: ./app.js)
- another-app (PID: 67890, Script: ./server.js)
Monitor a Process#
Monitor CPU and memory usage for a specific process:
tasky monitor <pid>
Example Output:
PID 12345 - CPU: 10.5%, Memory: 32.64 MB
View Real-Time Logs#
See the real-time logs for a process:
tasky logs <pid>
Example:
tasky logs 12345
Development#
Project Structure#
tasky/
├── logs/ # Logs for processes
├── src/ # Source code
│ ├── manager.js # Process management logic
│ ├── monitor.js # Monitoring logic
│ └── cli.js # Command-line interface
├── package.json # Project dependencies and metadata
└── README.md # Documentation
Add New Features#
- Modify
src/cli.js
to add new commands. - Implement new functionality in
src/manager.js
or a separate module. - Follow the modular design for maintainability.
Testing#
To test, run multiple commands and observe logs, resource usage, and process management behavior.
Roadmap#
Planned Features#
- Clustering Support: Scale applications across multiple CPU cores.
- Log Filtering & Search: Advanced log filtering and search capabilities.
- Docker Integration: Manage processes running inside Docker containers.
- Remote API: API support for managing processes remotely.
Contributing#
We welcome contributions! To contribute:
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Open a pull request with a detailed description of your changes.
License#
This project is licensed under the MIT License. See the LICENSE file for more details.
Acknowledgments#
Inspired by PM2, Tasky is a lightweight alternative for managing Node.js processes.
Contact#
For questions or feedback, feel free to contact Aldwin Moutarlier.