Experience a whole new way of scheduling tasks with TaskFly. Representing tasks' urgency with emojis, TaskFly not only makes job scheduling fun but also intuitive and user-friendly. Now with an added ability to schedule tasks over HTTP, TaskFly broadens its accessibility to other languages and systems.
TaskFly is a daemon designed to schedule tasks according to their urgency level, symbolized by one of four emojis. It simplifies the task scheduling experience while ensuring tasks are carried out at the right time based on their urgency. With an HTTP interface for easy integration with your existing services, TaskFly also provides advanced control and monitoring capabilities for your scheduled tasks.
Here are the available urgency levels:
- ๐ Blast Off: Super urgent tasks that need to be executed within the next 30 minutes.
โ๏ธ Jet Stream: Urgent tasks that need to be executed within the next 2 hours.- ๐ฒ Daily Cruise: Tasks that need to be executed by the end of the day.
- ๐ข Turtle Pace: Tasks that can wait to be executed sometime this week.
With its layered architecture, TaskFly is more than just a scheduler - it's a powerful, flexible daemon with a user-friendly interface that handles job dependencies, manages execution environments, offers direct feedback on job statuses, and provides a centralized platform for task monitoring.
TaskFly follows a three-tiered architecture:
- Daemon Layer: The overarching layer that manages the HTTP Service and Task Scheduler layers.
- HTTP Service Layer: Responsible for handling incoming HTTP requests and forwarding them to the Task Scheduler.
- Task Scheduler Layer: Schedules and executes tasks according to their urgency level.
...[Insert installation instructions here]
Adding a task is as simple as this:
$ taskfly add "Blast Off ๐" "/path/to/your/script.sh"
And you can list your tasks with:
$ taskfly list
To remove a task, use:
$ taskfly remove "Your task description here"
Want to change the urgency of a task? Here you go:
$ taskfly edit "Your task description here" "Turtle Pace ๐ข"
And, of course, you can always ask TaskFly for help:
$ taskfly --help
We welcome all contributors to TaskFly! Whether it's reporting a bug, proposing a new feature, or writing code, all contributions are appreciated.
To get started:
- Fork the repo
- Create your feature branch (git checkout -b feature/fooBar)
- Commit your changes (git commit -am 'Add some fooBar')
- Push to the branch (git push origin feature/fooBar)
- Create a new Pull Request
TaskFly was built with โค๏ธ and a lot of Rust. Big shout-out to the Rust community for their amazing resources and support.