Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/saladtechnologies/salad-cloud-job-queue-worker

SaladCloud Job Queue Worker, SDK, and samples
https://github.com/saladtechnologies/salad-cloud-job-queue-worker

batch-processing go job-queue salad saladcloud

Last synced: 6 days ago
JSON representation

SaladCloud Job Queue Worker, SDK, and samples

Awesome Lists containing this project

README

        

# SaladCloud Job Queue Worker

[![License](https://img.shields.io/github/license/SaladTechnologies/salad-cloud-job-queue-worker)](./LICENSE)

SaladCloud Job Queues

This project contains the SaladCloud Job Queue Worker, SDK, and samples. Refer to the [Job Queues documentation](https://docs.salad.com/container-engine/job-queues) for more information on using this with your SaladCloud-deployed workloads.

## Configuration

The SaladCloud Job Queue Worker automatically discovers the appropriate service endpoints when running on SaladCloud and no additional configuration is required.

The SaladCloud Job Queue Worker, by default, only prints error level log lines to minimize any potential noise in your workload logs. You may optionally override the log level to print more detailed log lines for monitoring or troubleshooting purposes. The default log level may be overridden using the `SALAD_LOG_LEVEL` environment variable. Valid values are `debug`, `info`, `warn`, and `error`. The SaladCloud Job Queue Worker will exit on startup if an invalid value is provided.

## Samples

See the [Mandelbrot workload sample](./samples/mandelbrot/) in the `samples/mandelbrot` directory for examples of different strategies that may be used to embed and run the SaladCloud Job Queue Worker in an existing workload container image.

## Development

The following prerequisites are required:

- [Visual Studio Code](https://code.visualstudio.com/download)
- [Git](https://git-scm.com/downloads)
- [Go](https://go.dev/dl/) (version 1.21.0 or higher)
- [golangci-lint](https://golangci-lint.run/welcome/install/)
- [Buf](https://github.com/bufbuild/buf/releases/latest) (version 1.32.0 or higher)
- [protoc-gen-go](https://pkg.go.dev/google.golang.org/protobuf/cmd/protoc-gen-go), the Google protocol buffer compiler for Go
- [protoc-gen-go-grpc](https://pkg.go.dev/google.golang.org/grpc/cmd/protoc-gen-go-grpc), the gRPC service binding compiler for Go

1. Clone the repository.

```sh
git clone https://github.com/SaladTechnologies/salad-cloud-job-queue-worker.git
```

2. Restore the dependencies.

```sh
go mod download
go mod verify
```

3. Build the project.

```sh
make build
```

The build artifacts will be available in the `build` directory.