Giter Site home page Giter Site logo

kuhnuri / kuhnuri-queue Goto Github PK

View Code? Open in Web Editor NEW
0.0 3.0 0.0 1.17 MB

Kuhnuri queue specification and reference implementation

License: Apache License 2.0

Scala 63.64% Shell 8.00% Batchfile 0.88% Java 27.22% Dockerfile 0.25%
dita-ot worker-queue worker-service

kuhnuri-queue's People

Contributors

jelovirt avatar

Watchers

 avatar  avatar  avatar

kuhnuri-queue's Issues

Persist job logs instead of passing to queue

Instead of passing the log to the queue on submit, the worker log should persisted just like output resource. Logs can be very large at debug level, thus they cannot be returned as part of the submission JSON.

At task level, this could be

{
  "output": "s3://bucket/output.zip",
  "log": "s3://bucket/output.log",
}

Add support for sequence of transtypes

Currently job can only contain a single transtype that should be used to process the job. This should be extend to be a sequence of transtypes that need to be ryn in order. For example in pseudo code

{
  transtype: [
    { name: "graphics" },
    { name: "pdf2" },
  ]
}

Queue should first run graphics transtype and then pdf2. When both transtypes have completed, the job is considered done.

This enables use cases such as

  • handle graphics conversion and DITA processing in separate workers
  • convert DITA to FO in first worker and render FO to PDF in the second worker
  • convert DITA to CHM source files on a Linux worker and convert to CHM on a Windows worker.

By separating different type of processing of separate workers, the workers can be run on different machines per CPU or IO usage. Similarly a part of processing that requires licensed software or a given platform can be run in a single common worker while doing generic DITA processing in multiple workers.

Check worker status after timeout

A job is given to a Worker. When timeout x has occurred, ping Worker to see if it's still alive.

If Worker doesn't respond, change job state back to queue.

Priority for queue items

Add priority field for queue items. Field could be signed byte, with convention to use zero for default priority.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.