#extensible #async-task #environments #executors #server #multitasking #large-scale

async-task-executor

A lightweight Rust library for building extensible asynchronous task executors, designed for handling large-scale multitasking in server environments

1 unstable release

0.1.2 May 5, 2023

#2 in #large-scale

MIT license

9KB
62 lines

Async Task Executor

This project is currently in active development and is not yet ready for production use.

A lightweight Rust library for building extensible asynchronous task executors, designed for handling large-scale multitasking in server environments.

TODO

Base Task Executor

  • Trait SharedData to access the sharable data in different thread.
  • TaskHandler : takes a message(String type) and return the result (String) - ?use DeserializeOwned?
  • Implement the TaskMessage and Response
  • Implement the TaskExecutor with TaskHandler
  • more generic approach using serde::Serialize and serde::de::DeserializeOwned traits

Future work

  • Add a communication layers to allow clients to send task and receive responses : RESTFul API, a gRPC, a WebSocket server
  • Implement a communication layer: Develop a communication layer to allow clients to send task messages to the server and receive responses.
    • This could include creating a RESTful API, a gRPC service, or a WebSocket server to facilitate communication between clients and the multitask executor.
  • Improve the error handling and logging.
  • Enhance the 'authorize' method.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Dependencies

~4–15MB
~187K SLoC