Skip to content

bernardjkim/linux-job-worker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

linux-job-worker

This project consists of a Linux job worker and a client interface. The worker provides an RPC API to start, stop, and query the status of a job.

Design Doc

Getting Started

Prerequisites

To build and run the application you need:

Installing

Clone repo & build project

git clone https://github.com/bernardjkim/linux-job-worker.git
cd linux-job-worker
mvn package

Testing

mvn test

Run Application

Run Server

java -jar target/server.jar

Run Client

cmds include:

  • start [linux cmd] - start new job
  • stream [linux cmd] - start new job and stream output
  • stop [job id] - stop job with matching id
  • status [job id] - output status/log for job with matching id
  • list - list all jobs
java -jar target/client.jar [cmd]

Demo

Demo

Limitations

  • Unable to stream output of RPC with a large amount of output. Attempting to stream the output of start yes will result in a failed RPC with a status code of RESOURCE_EXHAUSTED. A possible solution might be to split the message into chunks with a max chunk size.

Built With

Style Guide

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages