Guest Configuration

Guest workers are worker processes spawned by which runapplication components written in languages other than Python (the language which is written in).

This makes deployment of WAMP applications easier, since you can start an entire application backend just by starting

Guest workers are configured under workers, as type guest.

For example, here is a Guest Worker configuration which starts a JavaScript component using Node.js:

   "type": "guest",
   "executable": "node",
   "arguments": ["hello.js"],
   "options": {
      "workdir": "../node",
      "watch": {
         "directories": ["../node"],
         "action": "restart"






must be "guest" (required)


the path to the executable (required)


an array of arguments to pass to the executable


a dictionary of options to use

The options are:




A dictionary of environment variables to set for the executable, with the possible keys inherit and vars


The working directory for the executable.


Dictionary of data to pass in on standard in, or the string close. The dictionary should contain a key type (value json or msgpack) and a key value which is the data to JSON/msgpack encode. Optionally, close can be a key (value true) as well, causing stdin to be closed after the data is written.


Action on signal on standard out, can be close, log or drop


Action on signal on standard error, can be close, log or drop


Watch directories and carry out an action based on changes in these. Takes a dict with keys directories(a list of path-names) and action (only restart accepted).

Executable Path

The argument executable provides the path to the executable that uses when starting the worker. first parses this as an absolute path as well as a relative path (relative to the workdir in options). If no executable is found there, then it considers it an environment variable and attempts to use the path stored there.

Note: Python defaults to unbuffered stdout, so you probably want to pass the -u option when configuring Python guest workers.