namespace :batch do
desc "List all batches" task :list do puts BatchManager::Monitor.batches end task :details => :environment do title = "%-12s" % "Managed?" title << "%-50s" % "Name" title << "%10s" % "Ran/Limit" title << "%25s" % "Last run at" title << "%25s" % "Created at" puts title BatchManager::Monitor.details.each do |status| schema_batch = status.schema_batch str = "%-12s" % (status.managed?? "Yes" : "") str << "%-50s" % status.name.truncate(45) str << "%10s" % "#{schema_batch.try(:ran_times).to_i}/#{status.times_limit || 0}" if last_ran_at = schema_batch.try(:last_ran_at) str << "%25s" % last_ran_at.strftime('%Y-%m-%d %H:%M:%S') else str << "%25s" % "" end str << "%25s" % status.created_at.strftime('%Y-%m-%d %H:%M:%S') if status.created_at puts str end end
end