Skip to content

๐Ÿš€ TaskFly - The Fun Cron Alternative

License

Notifications You must be signed in to change notification settings

mxvrnv/TaskFly

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

7 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿš€ TaskFly - The Fun Job Scheduler Daemon

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.

๐Ÿค” What is TaskFly?

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.

๐Ÿ›๏ธ Architecture

TaskFly follows a three-tiered architecture:

  1. Daemon Layer: The overarching layer that manages the HTTP Service and Task Scheduler layers.
  2. HTTP Service Layer: Responsible for handling incoming HTTP requests and forwarding them to the Task Scheduler.
  3. Task Scheduler Layer: Schedules and executes tasks according to their urgency level.

๐Ÿ”ง Installation

...[Insert installation instructions here]

๐ŸŽฎ Usage

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

๐Ÿ’ช How to Contribute

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

๐ŸŽ‰ Acknowledgments

TaskFly was built with โค๏ธ and a lot of Rust. Big shout-out to the Rust community for their amazing resources and support.

About

๐Ÿš€ TaskFly - The Fun Cron Alternative

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%