delayd

command module
v0.3.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2014 License: BSD-3-Clause Imports: 23 Imported by: 0

README

Delayd

Build Status BSD License

Delayd is an available setTimeout() service for scheduling message sends.

Delayd can send and receive messages over AMQP, with more transports planned.

Running

./delayd server -c delayd.toml

To ensure availability, Delayd is clustered via raft. You should run at least 3 Delayd servers. This permits the cluster to keep running if one server fails.

Guarantees

Delayd ensures that after a message has been received, it will be delivered at least once. A message that has reached its delay time may be delivered more than once if the cluster leader fails after emitting the message, but before this state has replicated to the other cluster members.

AMQP Message Format

Message bodies are forwarded unchanged from received messages after their delay lapses. All Delayd directives are taken from AMQP headers.

Required Headers
  • delayd-delay (number) Delay time in ms before emitting this message.
  • delayd-target (string) Target exchange for this message.
Optional Headers
  • delayd-key (string) If a message with the same key exists in Delayd, this message will replace it.

Developing

delayd is built/developed with go1.2. I recommend using the excellent gvm to install it.

To get started:

make deps  # install required modules
make check # run fmt, vet, lint
make test  # run unit tests
make       # build the executable

License

© 2014 salesforce.com. Licensed under the BSD 3-clause license.

GoInstant

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL