mirror of
https://github.com/syumai/workers.git
synced 2025-03-11 09:49:12 +00:00
45 lines
1.3 KiB
Markdown
45 lines
1.3 KiB
Markdown
# queues
|
|
|
|
An example of using Cloudflare Workers that interact with [Cloudflare Queues](https://developers.cloudflare.com/queues/).
|
|
|
|
## Running
|
|
|
|
### Requirements
|
|
|
|
This project requires these tools to be installed globally.
|
|
|
|
* wrangler
|
|
* tinygo
|
|
|
|
### Supported commands
|
|
|
|
```
|
|
make dev # run dev server
|
|
make build # build Go Wasm binary
|
|
make deploy # deploy worker
|
|
```
|
|
|
|
### Interacting with the local queue
|
|
|
|
|
|
NOTE: Wrangler does not support running multiple workers interacting with the same _local_ queue. Therefore, for the demostrational purposes,
|
|
we use the same worker to both produce and consume messages from the queue. For a real-world scenario, please consider the differences
|
|
between [queues.Consume](https://github.com/syumai/workers/blob/main/cloudflare/queues/consumer.go#L65) and
|
|
(queues.ConsumeNonBlock)(https://github.com/syumai/workers/blob/main/cloudflare/queues/consumer.go#L75) functions.
|
|
|
|
1. Start the dev server.
|
|
```sh
|
|
make dev
|
|
```
|
|
|
|
2. Send a message to the queue.
|
|
```sh
|
|
curl -v -X POST http://localhost:8787/ -d '{"message": "Hello, World!"}' -H "Content-Type: application/json"
|
|
```
|
|
|
|
3. Observe the response and server logs
|
|
|
|
4. You can pass `text/plain` content type to write queue message as the string or omit the `Content-Type` header to write queue message as
|
|
byte array.
|
|
|