Workers are long running proccesses that are intended to always be running. Amezmo manages the logging, stopping, restarting, and monitoring of your workers.

Common use cases for workers are background processing queues, email queues, and othe asynchronous processing activities.

For PHP applications, Amezmo can automatically create the queue command for Laravel queues

Managing workers

Amezmo logs worker output to a standard location in your container. This is located in /backups/logs. Of course, the exact log path will be different for each of your workers, but you can always view the exact path on each Worker summary page in the dashboard.

Worker log files are capped at 2MB and are automatically rotated upon reaching this limit. Amezmo keeps a maximum of 2 log file backups. stdout and stderr are logged to the same file. Amezmo redirects stderr to stdout automatically. Therefore, there will only be 1 log file that represents both output streams.

Routing inbound HTTP requests to Workers

Workers can be categorized into 2 groups. The first group, is an isolated worker, which does not accept inbound HTTP traffic. For example, a worker that processes async email sending jobs would not need to accept inbound HTTP requests.

The second type, is a routable worker, which means HTTP requests are forwared into the worker process. The most common example of this would be a Node.js process that runs a Websocket server. Inbound HTTP requests on your domain would be routed into the worker.

Supported Runtimes

Workers can be any process. The command that you provide when creating a worker can be a path to a PHP script, a CLI command, or any other path to a script from a supported runtime. The following runtimes are officially supported on Amezmo.

  • Node.js and NPM
  • PHP