Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 bin
Octocat-spinner-32 lib
Octocat-spinner-32 .gitignore
Octocat-spinner-32 Gemfile
Octocat-spinner-32 README.md
Octocat-spinner-32 Rakefile
Octocat-spinner-32 config_example.yml
Octocat-spinner-32 fyi.gemspec
README.md

FYI

Find out what cron is doing.

Synopsis

fyi some_command

Examples

fyi echo $PATH
fyi "ls -lt | grep total"
fyi "cd /var/www/apps/current && /opt/ree/bin/rake RAILS_ENV=production thinking_sphinx:index"

Description

The fyi command executes some_command and tells you what happened. This is useful when some_command is executed asynchronously, e.g. via cron, and you want to know how it went without cluttering up your crontab with pipe redirections.

When fyi executes some_command it captures standard out, standard error, and whether some_command succeeded or failed. These are then reported by any notifiers you have configured. Success is defined by a 0 exit code and failure by a non-zero exit code.

Notifiers

The default notifier is the Log notifier. This writes to fyi.log in the process's home directory unless you configure it otherwise (see below).

One other notifier is currently available: the Email notifier. Simply configure it (see below) to use it. You can switch success notifications on and off and failure notifications on and off independently. By default this notifier will only email you when some_command fails.

To provide additional notifiers, e.g. Campfire / HTTP / Jabber, add a class in lib/notifiers/ and configure it (see below). fyi will automatically instantiate it, configure it and use it.

A notifier must:

  • subclass Fyi::Notifier
  • accept an options hash at initialisation (populated from configuration).
  • respond to notify(command, result, duration, output, error = '')

Installation

gem install fyi

Configuration

Configure fyi with a YAML file at <home>/.fyi, where <home> is the process's home directory.

Each top-level key should be the name of a notifier class. The key-value pairs in each notifier section are passed in a hash to the notifier class at instantiation.

Problems

Please use GitHub's issue tracker.

Intellectual Property

Copyright (c) 2009 Andy Stewart (boss@airbladesoftware.com). Released under the MIT licence.

Something went wrong with that request. Please try again.