Crate faktory [] [src]

API bindings for Faktory workers and job producers.

This crate provides API bindings for the language-agnostic Faktory work server.

Producing jobs

If you want to submit jobs to Faktory, use Producer.

use std::net::TcpStream;
let mut p = Producer::<TcpStream>::connect_env().unwrap();
p.enqueue(Job::new("foobar", vec!["z"])).unwrap();

Consuming jobs (i.e., workers)

If you want to accept jobs from Faktory, use Consumer.

use std::io;
use std::net::TcpStream;
let mut c = ConsumerBuilder::default().connect_env::<TcpStream, _>().unwrap();
c.register("foobar", |job| -> io::Result<()> {
    println!("{:?}", job);
    Ok(())
});
if let Err(e) = c.run(&["default"]) {
    println!("worker failed: {}", e);
}

Structs

Consumer

This struct represents a single Faktory worker.

ConsumerBuilder

Convenience wrapper for building a Consumer with non-standard options.

Job

A description of a Faktory job.

Producer

A Producer provides an interface to a Faktory work server that allows enqueuing new jobs.

Traits

FromUrl

A type that can be constructed from a Url connection string.

StreamConnector

A stream that can be established using a url.