Batch User Workload Monitoring

proc_box is an open source, way of containerizing a process into a resource monitored box suitable for batch systems. The primary goal is to limit resource explosion and causing other users of the batch system to receive unexpected resource pressure. This project also provides remote control of the process through AMQP JSON messages. Resource usage measurements of the contained process are emitted for analysis or control by other tools.

Features

Requirements

Go; that's about it. We suggest the rabbitmq:3-management Docker container for development purposes.

Documentation

Use Godoc documentation under the agents package for reference.

Running

Generally, only specifying both the AMQP broker and the command to be contained is necessary.

./proc_box -uri <amqp_uri> <cmd> <args>

Remote Commands

Remote commands can be issued through the AMQP broker to the topic exchange specified (or default proc_box.remote_control). Messages should be in JSON of the form:

{
    "command": "<cmd>",
    "arguments": ["<arg1>", "<arg2>", ...],
}

Supported commands:

License

proc_box is licensed under the MIT License.