utopia_queue 0.3.1 copy "utopia_queue: ^0.3.1" to clipboard
utopia_queue: ^0.3.1 copied to clipboard

Light and easy to use queue library for Dart server projects

Utopia Queue #

Utopia queue is a powerful queue library. It is designed to be simple and easy to learn and use. It is built on top of redis.

It is super helpful to build background workers to handle long running tasks. For example in your API server, you can use a emails queue to handle sending emails in the background.

Usage #

In main.dart, you can start a server as the following.

import 'package:utopia_queue/utopia_queue.dart';

void main(List<String> arguments) async {
  final connection = await ConnectionRedis.init('localhost', 6379);
  final Server server = Server(connection, queue: 'myqueue');

  server.job().inject('message').action((Message message) {
    print(message.toMap());
    // Do something with the message
  });
  server.start();
}

copied to clipboard

To send a message to the queue, use the following code.

import 'dart:io';
import 'dart:math';

import 'package:utopia_queue/utopia_queue.dart';

void sendMessage() async {
  final connection = await ConnectionRedis.init('localhost', 6379);
  final client = Client(connection, queue: 'myqueue');
  await client
      .enqueue({'user': Random().nextInt(20), 'name': 'Damodar Lohani'});
  print('enqueued');
}
copied to clipboard
2
likes
150
points
40
downloads

Publisher

verified publisherappwriters.dev

Weekly Downloads

2024.08.22 - 2025.03.06

Light and easy to use queue library for Dart server projects

Repository (GitHub)

Documentation

API reference

License

MIT (license)

Dependencies

redis, utopia_di, uuid

More

Packages that depend on utopia_queue