Skip to content
This repository has been archived by the owner on Feb 25, 2020. It is now read-only.

Single process server #531

Open
jdegoes opened this issue Oct 7, 2013 · 0 comments
Open

Single process server #531

jdegoes opened this issue Oct 7, 2013 · 0 comments
Assignees

Comments

@jdegoes
Copy link
Contributor

jdegoes commented Oct 7, 2013

To make it as simple as possible to run Precog, we need to bundle Precog and Labcoat and all required dependencies into a fully self-contained package suitable for distribution, run all Precog services in a single process using a single port, and launch Precog and Labcoat with a single command.

Configuration options for this single process server should be kept extremely minimal, and every option must have a sensible default which works out of the box on all supported platforms (Mac, Linux, Windows).

Among the possible options:

  • The port to run on. Could default to something like 7777.
  • The home directory for the file system (if local file system is being used). Could default to something like ./data/.
  • The home directory for temporary files. Could default to /tmp/ or ./tmp/.
  • The directory for accounts/security/etc. metadata (location of H2 database?). Could default to something like ./meta/.

With no external dependencies and simple configuration options that all have sensible defaults, it will be possible for average and casual users to maintain Precog, and many more people to try Precog out without having to master a half dozen other technologies (kafka, zookeeper, haproxy, mongodb, httpd, etc.).

This ticket will be considered complete when the following is possible:

  • Run an sbt task to build the new standalone release from scratch (both Precog and Labcoat)
  • cd into the standalone release directory
  • Run precog or precog.bat scripts depending on OS (Mac/Linux or Windows)
  • If no command-line arguments are specified, the script launches Precog server in a single process and port (if it is not already running), and launches Labcoat configured to point to the newly-launched Precog server
  • In addition to the default action of starting Precog and launching Labcoat, the scripts support the commands 'stop', 'start', and 'restart', which stop, start, and restart the Precog server (respectively), as well as a 'launch' command which launches Labcoat, and a 'status' command which shows whether or not Precog server is running.

The standalone release will be the release version that's pre-built and distributed online for users who don't want to build Precog / Labcoat from scratch. Therefore, it's essential that it be bullet-proof and "just work" out of the box with no tweaking, configuration, or additional external dependencies.

This ticket should not be completed most of the other tickets in the Simplified Precog milestone have been completed.

@ghost ghost assigned jdegoes Dec 5, 2013
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant