Skip to content

Latest commit

 

History

History
 
 

compile

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Compile

Clustered Arduino compile server. Each worker connects to a Redis-based queue and can process submissions concurrently. It is powered by Throng and Bull.


Structure

compile and server connect to the queue in pub/sub fashion. As jobs make progress and eventually complete, events will be emitted. The server listens to these events and will update the submission in the database accordingly. This asynchronous processing reduces high latency requests on the server, providing a more responsive experience. Additionally, compile can be optimized to easily run concurrent processes and jobs.

diagram


Setup

compile depends on other services and must be run with the rest of the application. See the project development setup for instructions.


Configuration

WEB_CONCURRENCY

JOB_CONCURRENCY

  • The maximum number of jobs each worker should process at once
  • Each job is CPU-intensive, so this value should not be too high

Notes

This service was forked from spaceneedle's Chromeduino project.

Notice of Non-Affiliation and Disclaimer:

We are not affiliated, associated, authorized, endorsed by, or in any way officially connected with Arduino AG or Google LLC (“Google”), or any of their subsidiaries or their affiliates. The official Arduino AG website can be found at https://www.arduino.cc The names "Chrome", "Chromebook", "Chromebox", "Arduino", and "Genuino" as well as related names, marks, emblems and images are registered trademarks of their respective owners.