Cleaning up unmanaged files in boxen / puppet

Nginx and env files .. maybe others … get a mess after a while of trying different branch, since they are never auto-cleaned up. Already made this into a PR, but nobody seems to care … so fix it via overwrites.

Add an empty directory as modules/ours/files/emptydir + .gitkeep (pick whatever you want for ‘ours’).

  # remove any unmanaged configs
  # https://github.com/boxen/puppet-nginx/pull/34
  File <| title == $nginx::config::configdir |> {
    purge => true,
    force => true,
    source => "puppet:///modules/ours/emptydir",
    recurse => "true",
  }

  File <| title == $nginx::config::sitesdir |> {
    purge => true,
    force => true,
    source => "puppet:///modules/ours/emptydir",
    recurse => "true",
  }

  File <| title == $boxen::config::envdir |> {
    purge => true,
    force => true,
    source => "puppet:///modules/ours/emptydir",
    recurse => "true",
  }

Resque test helpers, e.g. process all jobs

When testing resque jobs, the simples solution is to set Resque.inline = true, which just executes the jobs imediatly, but if you want to make sure that they e.g. have been scheduled for the right time or simulate non-parallel execution, you might find these useful.

ResqueScheduler
module ResqueScheduler
  def all_scheduled_jobs_count
    total_jobs = Hash.new(0)
    Array(redis.zrange(:delayed_queue_schedule, 0, -1)).each do |timestamp|
      total_jobs[timestamp.to_i] += redis.llen("delayed:#{timestamp}").to_i
    end
    total_jobs
  end
end

Resque
module Resque
  def self.perform_enqueue_and_scheduled(queue)
    while timestamp = Resque.next_delayed_timestamp
      Resque::Scheduler.enqueue_delayed_items_for_timestamp(timestamp)
    end
    Resque.perform_all(queue)
  end

  def self.perform_all(queue_name)
    until size(queue_name) == 0
      reserve(queue_name).perform
    end
  end
end

Getting back Panel icons (systray) in Natty

Lots of panel apps do not work with new natty ApplicationIndicators based panel, but you can manually whitelist them to work with the old system or just use them all 🙂

gsettings set com.canonical.Unity.Panel systray-whitelist "['all']"

After that restart/relogin they should show up.

in case you want to revert it, the default is “[‘JavaEmbeddedFrame’, ‘Mumble’, ‘Wine’, ‘Skype’, ‘hp-systray’, ‘scp-dbus-service’]”