Skip to content

embj-org/ejkmer-dispatcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EJ Kmer Dispatcher

EJ Kmer Dispatcher is a demonstration tool that showcases how to build custom applications using the EJ Dispatcher SDK. This tool programmatically submits jobs to an EJ Dispatcher, retrieves results, and performs automated validation of the k-mer algorithm benchmark across different algorithm versions.

It was built as part of the EJ Guide series that can be found here.

What It Does

This dispatcher client demonstrates advanced EJ Dispatcher SDK features including:

  • Programmatically dispatches build and run jobs to EJ Dispatcher
  • Fetches and parses job results from the dispatcher
  • Verifies that different k-mer implementations produce consistent results

Installation

From Git

cargo install --git https://github.com/embj-org/ejkmer-dispatcher

From Source

git clone https://github.com/embj-org/ejkmer-dispatcher.git
cd ejkmer-dispatcher
cargo install --path .

Usage

Dispatch Run Jobs

Submit a complete build-and-run job to the dispatcher:

ejkmer-dispatcher dispatch-run \
    --socket /path/to/ejd.sock \
    --seconds 60 \
    --commit-hash eb7c6cbe6249aff4df82455bbadf4898b0167d09 \
    --remote-url https://github.com/embj-org/kmer

Example Output

ejkmer-dispatcher dispatch-run --socket ~/ejd.sock --seconds 60 --commit-hash eb7c6cb --remote-url https://github.com/embj-org/kmer

=======================================
Run finished successfully with 3 log entries:
=======================================
[Build logs and run logs displayed...]

=======================================
Run finished successfully with 3 result entries:
=======================================
k-mer-original: Results: ABC: 2, BCD: 1, CDA: 1, DAB: 1
k-mer:          Results: ABC: 2, BCD: 1, CDA: 1, DAB: 1  
k-mer-omp:      Results: ABC: 2, BCD: 1, CDA: 1, DAB: 1

Results OK!

Integration with EJ Guides

This project serves as the primary example in EJ Guide 04 - Dispatcher SDK, demonstrating how to build specialized tools around the EJ infrastructure, and a simple example showcasing parsing and validating the test results.

It's a simple example that doesn't use the full capabilities of the Dispatcher SDK like retrieving previous results.

Related Projects

Contributing

Contributions are welcome! This project serves as a reference implementation for the EJ Dispatcher SDK, so improvements that demonstrate additional SDK capabilities or analysis techniques are particularly valuable.

License

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

Support

For questions about this dispatcher client or the EJ framework:

About

A CLI demo tool that uses the EJ Dispatcher SDK. Check out https://embj-org.github.io/ej to learn more

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages