Pendulum is a tool to manage Treasure Data scheduled jobs.
Ruby Shell
Latest commit 51fb942 Dec 22, 2016 @monochromegane committed on GitHub Merge pull request #3 from ysksn/master
Create #x_and_y, but remove #username_and_password and hostname_and_port

README.md

Pendulum Build Status

Pendulum is a tool to manage Treasure Data scheduled jobs.

It defines the state of Treasure Data scheduled jobs using DSL, and updates the jobs according as DSL.

Usage

# Export from Treasure Data
$ pendulum --apikey='...' -e -o Schedfile

# Update Schedfile
$ vi Schedfile

# Apply scheduled jobs
$ pendulum --apikey='...' -a --dry-run
$ pendulum --apikey='...' -a

Schedfile

schedule 'test-scheduled-job' do
  database    'db_name'
  query       'select time from access;'
  retry_limit 0
  priority    :normal
  cron        '30 0 * * *'
  timezone    'Asia/Tokyo'
  delay       0
  result_url  'td://@/db_name/table_name'
end

query_file

If your query is long, you can specify query_file.

query_file 'queries/test-scheduled-job.hql'

result

You can use result DSL instead of result_url.

schedule 'test-scheduled-job' do
  database   'db_name'
  ...
  result :td do
    database 'db_name'
    table    'table_name'
  end
end

Now, Pendulum supports td and postgresql result export. If you want to use other result export, please send pull request 😄

Installation

Add this line to your application's Gemfile:

gem 'pendulum'

And then execute:

$ bundle

Or install it yourself as:

$ gem install pendulum

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/monochromegane/pendulum.

License

The gem is available as open source under the terms of the MIT License.