Re: CacheMigration gem to help migrating to MemCachier

2013-09-05 Thread Daniel Doubrovkine
Maybe add a warning message on deploy?


On Tue, Sep 3, 2013 at 4:39 PM, Robbie Thng rob...@heroku.com wrote:

 That's a good point, I don't think we have a good way of notifying of this
 right now.

 Their add-on page isn't available for consumption but other than notifying
 users by email we don't really have a way of conveying this across the
 platform. We're mostly relying on users checking their email but that's
 understandably hard for orgs.


 On Fri, Aug 30, 2013 at 5:09 AM, Daniel Doubrovkine dbl...@dblock.orgwrote:

 Got it. We have a shared IT account that subscribes to those, took a
 while to dig it up. Would be nice if everything online reflected this
 reality.


 On Tue, Aug 27, 2013 at 5:31 PM, Robbie rob...@heroku.com wrote:

 Hi Daniel,

 We sent this out to users that we identified as having Couchbase
 Memcache add-ons. Are you a user of that add-on and did you not receive the
 notice?

 R


 On Tuesday, August 27, 2013 2:28:15 PM UTC-7, dB. wrote:

 For the life of me I cannot find that announcement. Where did you read
 that the date is October 31st? Thanks.

 On Mon, Aug 26, 2013 at 10:04 AM, jonathan jonathan...@gmail.comwrote:

 As many of you know, Heroku is deprecating their memcache addon in
 favor of the Memcachier service. Customers are required to switch to the
 new servers by Oct 31.

 For high traffic sites, transitioning to a cold memcache server can be
 difficult. I threw together a ruby gem that will allow you to run both 
 sets
 of memcache servers in production for a transition period, while your new
 memcache servers warm up.

 https://github.com/jbaudanza/**cache_migrationhttps://github.com/jbaudanza/cache_migration

 Let me know if you have any questions. I hope you find this helpful.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+un...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google
 Groups Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to heroku+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




 --

 dB. | Moscow - Geneva - Seattle - New York
 code.dblock.org - @**dblockdotorg http://twitter.com/#!/dblockdotorg
  - artsy.net - git**hub/dblock https://github.com/dblock

  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google
 Groups Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




 --

 dB. | Moscow - Geneva - Seattle - New York
 code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
 artsy.net - github/dblock https://github.com/dblock

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.


  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed

Re: CacheMigration gem to help migrating to MemCachier

2013-08-30 Thread Daniel Doubrovkine
Got it. We have a shared IT account that subscribes to those, took a while
to dig it up. Would be nice if everything online reflected this reality.


On Tue, Aug 27, 2013 at 5:31 PM, Robbie rob...@heroku.com wrote:

 Hi Daniel,

 We sent this out to users that we identified as having Couchbase Memcache
 add-ons. Are you a user of that add-on and did you not receive the notice?

 R


 On Tuesday, August 27, 2013 2:28:15 PM UTC-7, dB. wrote:

 For the life of me I cannot find that announcement. Where did you read
 that the date is October 31st? Thanks.

 On Mon, Aug 26, 2013 at 10:04 AM, jonathan jonathan...@gmail.com wrote:

 As many of you know, Heroku is deprecating their memcache addon in favor
 of the Memcachier service. Customers are required to switch to the new
 servers by Oct 31.

 For high traffic sites, transitioning to a cold memcache server can be
 difficult. I threw together a ruby gem that will allow you to run both sets
 of memcache servers in production for a transition period, while your new
 memcache servers warm up.

 https://github.com/jbaudanza/**cache_migrationhttps://github.com/jbaudanza/cache_migration

 Let me know if you have any questions. I hope you find this helpful.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+un...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google
 Groups Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send
 an email to heroku+un...@**googlegroups.com.

 For more options, visit 
 https://groups.google.com/**groups/opt_outhttps://groups.google.com/groups/opt_out
 .




 --

 dB. | Moscow - Geneva - Seattle - New York
 code.dblock.org - @**dblockdotorg http://twitter.com/#!/dblockdotorg -
 artsy.net - git**hub/dblock https://github.com/dblock

  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: CacheMigration gem to help migrating to MemCachier

2013-08-27 Thread Daniel Doubrovkine
For the life of me I cannot find that announcement. Where did you read that
the date is October 31st? Thanks.

On Mon, Aug 26, 2013 at 10:04 AM, jonathan jonathan.bauda...@gmail.comwrote:

 As many of you know, Heroku is deprecating their memcache addon in favor
 of the Memcachier service. Customers are required to switch to the new
 servers by Oct 31.

 For high traffic sites, transitioning to a cold memcache server can be
 difficult. I threw together a ruby gem that will allow you to run both sets
 of memcache servers in production for a transition period, while your new
 memcache servers warm up.

 https://github.com/jbaudanza/cache_migration

 Let me know if you have any questions. I hope you find this helpful.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.




-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.


Re: Detecting R14 errors before they happen - oink gem not possible

2013-06-13 Thread Daniel Doubrovkine
Having gone that path, we eventually gave up. Any high resolution image
cannot be processed with ImageMagick without 2-4GB of RAM. We now run our
workers on EC2, documented in
http://artsy.github.io/blog/2012/01/31/beyond-heroku-satellite-delayed-job-workers-on-ec2/
.

On Thu, Jun 13, 2013 at 5:20 AM, Daniel Farina dan...@fdr.io wrote:

 On Thu, Jun 13, 2013 at 2:03 AM, Josal jos...@gmail.com wrote:
  What I plan is to stop the process and flag it as pending in my
  backoffice, making the process manually later in my machine as an
 exception.
 
  I've used 2X dynos, but all the memory available is used and R14 errors
 also
  are thrown. Imagemagick works this way, with much memory. I've limited
  delegating to disk cache instead of memory cache
  (http://www.imagemagick.org/script/command-line-options.php#limit,
 suggested
  in some places, example here:
  http://www.imagemagick.org/discourse-server/viewtopic.php?f=3t=23090),
 but
  no changes.

 Tricky.  Nominally this is what Linux cgroups was invented to help
 with, but I think the amount of power delegated to non-root users (and
 thus, on Heroku) is minimal.

 Here are two options that come to mind:

 1) Somehow delegate these possibly expensive processes to their own 2X
 dyno, taking the computation out-of-band.  e.g., a queuing strategy,
 multi-app delegation (one app posting to another), or the Heroku API
 (be careful with that latter one, as it's basically automated spend
 money, and one can hit api limits, also, the control plane has worse
 availability than standing-processes...but it has upsides, like burst
 capacity and 0-cost when there's nothing to do)

 2) Use /proc/[self|pid]/statm or /proc/[self|pid]/status (which has
 similar information, but is more human-targeted) to inspect the RSS
 size of a process over time to take control over over-bloated
 processes.  A process could watch itself grow in this way, which would
 be useful if it can do it semi-frequently enough to write a too big,
 can't do record and give up.

 If one uses /proc/pid/statm, be aware one will have to multiply by the
 system page size, which has been 4096 bytes for years but *could*
 change any time, so consider 'getconf PAGESIZE' to pick up the
 multiplier.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Problem adding memcache addon

2013-06-03 Thread Daniel Doubrovkine
Fyi, we had no trouble for new instances with Memcachier, you can either
set their environment variables or use
https://github.com/memcachier/memcachier-gem that does the same.

On Mon, Jun 3, 2013 at 4:58 AM, Daniel Farina dan...@fdr.io wrote:

 On Wed, May 29, 2013 at 2:58 PM, Daniel Doubrovkine dbl...@dblock.org
 wrote:
  Can we please have an update from Heroku on whether we need to migrate to
  someone else's addon ASAP, too, before the addon decides to stop
 responding
  to memcache read/writes? :)

 I should have written more precisely: the addon (clearly) not taking
 more business.  That's not the unambiguously the same as ceasing
 operation.  I think the best answer about how long Northscale's staff
 intend to serve the current customer base is probably best directed to
 them: maybe it's even indefinite, I have no idea.  I think in most
 cases where there's a known timeline to deprecation, there would be
 communication with the addon customers, so for all I know there may be
 no gelled plan.

 My advice: ask Northscale/Couchbase.

 As of right now, it looks like MemCachier and IronCache are in the
 catalog and mention memcache somehow:
 https://addons.heroku.com/?q=memcache.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: Problem adding memcache addon

2013-05-29 Thread Daniel Doubrovkine
Can we please have an update from Heroku on whether we need to migrate to
someone else's addon ASAP, too, before the addon decides to stop responding
to memcache read/writes? :)

On Wed, May 29, 2013 at 5:53 PM, Daniel Farina dan...@fdr.io wrote:

 On Wed, May 29, 2013 at 2:48 PM,  la...@artsymail.com wrote:
  Hello,
 
  I am attempting to add memcache to my heroku app, and I received the
  following error:
 
  The memcache add-on has been disabled. Please choose an alternative
 service
  at https://addons.heroku.com/#caching;
 
  I don't see any information on the heroku site about this change, nor are
  there any google results for the error. If the memcache add-on is indeed
 no
  longer available, I'll look into memcachier, but if I'm receiving this
 error
  because of a mistake on my part, I'd like to correct it to get memache
  running.

 Yup, it's no longer available.  That add-on decided to cease its
 operation.  One will have to go elsewhere for their memcache hosting
 needs.

 Looks like there is some out of date documentation, though:

   https://devcenter.heroku.com/articles/memcache

 That documentation seems to be maintained by Couchbase, which is the
 aforementioned party that deprecated the addon, so Heroku may want to
 be looped in as to possibly salvage parts of the document that are
 still useful but stop it from indicating that the memcache addon is
 still available.

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 

dB. | Moscow - Geneva - Seattle - New York
code.dblock.org - @dblockdotorg http://twitter.com/#!/dblockdotorg -
artsy.net - github/dblock https://github.com/dblock

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: ArgumentError when starting Unicorn on Heroku

2013-05-25 Thread Daniel Doubrovkine
Does that command run locally as is? It's likely that you have a global
unicorn in /etc/init.d or something like that which supports those start
commands (like this one: https://gist.github.com/jaygooby/504875). Unicorn
by itself takes port and config via -p and -c. See the example in Procfile
here: https://devcenter.heroku.com/articles/rails-unicorn

Hope this helps.

On Sat, May 25, 2013 at 7:18 PM, Daniel Farina dan...@heroku.com wrote:

 On Sat, May 25, 2013 at 2:33 AM, Jack Royal-Gordon jac...@pobox.com
 wrote:
  Switched my RoR (3.1.3, 1.9.2, Cedar Platform) app from Thin to Unicorn
 (4.6.2).  It ran fine in development (Mac OSX), but when deploying to
 production on Heroku, it fails with the following messages:
 
  Starting process with command `bundle exec unicorn start -p 6069 -c
 ./config/unicorn.rb`
 
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:634:in
 `parse_rackup_file': rackup file (start) not readable (ArgumentError)
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:77:in
 `reload'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/configurator.rb:68:in
 `initialize'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `new'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/lib/unicorn/http_server.rb:108:in
 `initialize'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `new'
from
 /app/vendor/bundle/ruby/1.9.1/gems/unicorn-4.6.2/bin/unicorn:126:in `top
 (required)'
from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `load'
from /app/vendor/bundle/ruby/1.9.1/bin/unicorn:19:in `main'
  Process exited with status 1
  State changed from starting to crashed
 
  config.ru:
  require ::File.expand_path('../config/environment',  __FILE__)
  run NoveltyStats::Application
 
 
  Procfile:
  web: bundle exec unicorn start -p $PORT -c ./config/unicorn.rb
  sidekiq: bundle exec sidekiq -c 10
 
  unicorn.rb:
  worker_processes Integer(ENV[WEB_CONCURRENCY] || 3)
  timeout 15
  preload_app true
 
  before_fork do |server, worker|
 
Signal.trap 'TERM' do
  puts 'Unicorn master intercepting TERM and sending myself QUIT
 instead'
  Process.kill 'QUIT', Process.pid
end
 
defined?(ActiveRecord::Base) and
  ActiveRecord::Base.connection.disconnect!
  end
 
  after_fork do |server, worker|
 
Signal.trap 'TERM' do
  puts 'Unicorn worker intercepting TERM and doing nothing. Wait
 for master to sent QUIT'
end
 
defined?(ActiveRecord::Base) and
  ActiveRecord::Base.establish_connection
  end
 
  I have no idea where to even begin to troubleshoot this problem.  Any
 thoughts?

 Well that sounds pretty bizarre.  The way I'd go about solving this
 would be to us 'heroku run bash' and start poking around.  Although
 the error message you see above can have multiple causes (says the
 web, I just ran some searching), the gist of your problem sounds like
 it could have to do with paths that may be different between Heroku
 and your personal computer (although there can be numerous other
 causes).

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

 ---
 You received this message because you are subscribed to the Google Groups
 Heroku Community group.
 To unsubscribe from this group and stop receiving emails from it, send an
 email to heroku+unsubscr...@googlegroups.com.
 For more options, visit https://groups.google.com/groups/opt_out.





-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg -
artsy.net

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: heroku-api

2013-02-04 Thread Daniel Doubrovkine
Thanks Keith. In the related realm, the exit code of a run:detached is
something one should be able to retrieve, as well as knowing whether that
process finished or not, in a reliable way.

On Sat, Feb 2, 2013 at 11:04 PM, Keith Rarick k...@heroku.com wrote:

 FWIW, I think exit code definitely belongs in the Heroku API.
 That's a longstanding known deficiency. I hope we can fix it
 soon, but can't make any promises.

 On Sat, Feb 2, 2013 at 9:35 PM, Daniel Doubrovkine dbl...@dblock.org
 wrote:
  I published heroku-commander (https://github.com/dblock/heroku-commander
 )
  that wraps `heroku config -s` among other things. I still think this gem
  shouldn't exist and the functionality rolled into the heroku-client -
  @geemus, you might want to give this some thought. For the exit code
 part it
  would require cooperation from the server-side, but for the client-side
  credentials, not so much.
 
  cheers
  dB.
 
 
  On Thu, Dec 27, 2012 at 2:23 PM, Daniel Doubrovkine dbl...@dblock.org
  wrote:
 
  Indeed, maybe this does belong in a gem. Either way one wants to be able
  to do programmatically everything that the `heroku` command does without
  having to call it.
 
 
  On Thu, Dec 27, 2012 at 1:53 PM, geemus wes...@heroku.com wrote:
 
  I think Daniels approach is the easiest currently (thanks dB!). Perhaps
  we should create a gem for doing looking up the implied app as I'm
 reticent
  to say it belong in heroku-api.
 
  As for config you should be able to use the netrc gem and read the
  credentials for 'api.heroku.com' in order to get them.
 
  Hope that helps.
 
 
  On Tuesday, December 25, 2012 8:12:01 AM UTC-6, dB. wrote:
 
  We've asked a similar question a while ago, and the best we could come
  up with is a hack to run `heroku config -s`.
 
  config = {}
  config_output = `heroku config -s#{app_param}`.chomp
 
 
  if ($?.to_i != 0)
 
 
raise error running heroku config: #{$?}
 
 
$stderr.puts config_output
 
 
  end
  config_output.each_line do |line|
 
 
parts = line.split(=, 2)
 
 
raise invalid line #{line} if (parts.size != 2)
 
 
config[parts[0].strip] = parts[1].strip
 
 
  end
  config
 
 
  On Mon, Dec 24, 2012 at 9:42 PM, Francois fha...@gmail.com wrote:
 
  hi,
   i wrote a gem a year or so ago that adds some rake tasks to a
  RefineryCMS rails project (
 https://github.com/rounders/refinerycms-s3assets)
  . The rake tasks are meant to be run in development and they are for
 copying
  production s3 assets to development.
 
  Using the heroku gem, my gem reads the s3-related heroku config vars
 in
  order to determine which s3 bucket to fetch the assets from and
 which s3
  credentials to use. Specifically the config vars are obtained as
 follows:
 
   base = Heroku::Command::BaseWithApp.new
   config_vars = base.heroku.config_vars(base.app)
 
  It is my understanding that the heroku gem should no longer be used
 and
  that we should instead use the heroku-api gem. But as far as I can
 tell the
  heroku-api gem does not automatically handle figuring out the
 current heroku
  app as the heroku gem does. And there is also the issue of
 authentication,
  though that one isn't as much of an issue since I can ask users to
 set their
  HEROKU_API_KEY environment variable.
 
  Is there a recommended way to obtain the config vars of an app via a
  rake task without asking the user to hard code or specify the name
 of their
  heroku app without using the heroku gem?
 
  - Thanks,
  Francois
 
 
 
 
 
 
 
 
 
  --
  You received this message because you are subscribed to the Google
  Groups Heroku group.
 
  To unsubscribe from this group, send email to
  heroku+un...@googlegroups.com
 
  For more options, visit this group at
  http://groups.google.com/group/heroku?hl=en_US?hl=en
 
 
 
 
  --
 
  dB. | Moscow - Geneva - Seattle - New York
  dblock.org - @dblockdotorg
 
  --
  You received this message because you are subscribed to the Google
  Groups Heroku group.
 
  To unsubscribe from this group, send email to
  heroku+unsubscr...@googlegroups.com
  For more options, visit this group at
  http://groups.google.com/group/heroku?hl=en_US?hl=en
 
 
 
 
  --
 
  dB. | Moscow - Geneva - Seattle - New York
  dblock.org - @dblockdotorg
 
 
 
 
  --
 
  dB. | Moscow - Geneva - Seattle - New York
  dblock.org - @dblockdotorg
 
  --
  --
  You received this message because you are subscribed to the Google
  Groups Heroku group.
 
  To unsubscribe from this group, send email to
  heroku+unsubscr...@googlegroups.com
  For more options, visit this group at
  http://groups.google.com/group/heroku?hl=en_US?hl=en
 
  ---
  You received this message because you are subscribed to the Google Groups
  Heroku Community group.
  To unsubscribe from this group and stop receiving emails from it, send an
  email to heroku+unsubscr...@googlegroups.com.
  For more options, visit https://groups.google.com/groups/opt_out.
 
 

 --
 --
 You received this message because you are subscribed to the Google

[ANN] Heroku::Commander - master the Heroku CLI

2013-02-02 Thread Daniel Doubrovkine
Issue #186 https://github.com/heroku/heroku/issues/186 (processes don't
pass their return code down to *heroku run*) has been open for about a
year, which makes it very poorly suitable for automation. We thought it was
time to build some more robust workarounds.

Taking the basic idea of echo-ing the exit status and tailing output,
introducing a new gem called *heroku-commander* -
https://github.com/dblock/heroku-commander. It does that and also supports
run:detached.

Introductory blog post:
http://artsy.github.com/blog/2013/02/01/master-heroku-command-line-with-heroku-commander

Let me know if you find it useful, it has made our Rake tasks much more
sane.

cheers
dB.

-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: heroku-api

2013-02-02 Thread Daniel Doubrovkine
I published heroku-commander (https://github.com/dblock/heroku-commander)
that wraps `heroku config -s` among other things. I still think this gem
shouldn't exist and the functionality rolled into the heroku-client -
@geemus, you might want to give this some thought. For the exit code part
it would require cooperation from the server-side, but for the client-side
credentials, not so much.

cheers
dB.

On Thu, Dec 27, 2012 at 2:23 PM, Daniel Doubrovkine dbl...@dblock.orgwrote:

 Indeed, maybe this does belong in a gem. Either way one wants to be able
 to do programmatically everything that the `heroku` command does without
 having to call it.


 On Thu, Dec 27, 2012 at 1:53 PM, geemus wes...@heroku.com wrote:

 I think Daniels approach is the easiest currently (thanks dB!). Perhaps
 we should create a gem for doing looking up the implied app as I'm reticent
 to say it belong in heroku-api.

 As for config you should be able to use the netrc gem and read the
 credentials for 'api.heroku.com' in order to get them.

 Hope that helps.


 On Tuesday, December 25, 2012 8:12:01 AM UTC-6, dB. wrote:

 We've asked a similar question a while ago, and the best we could come
 up with is a hack to run `heroku config -s`.

 config = {}
 config_output = `heroku config -s#{app_param}`.chomp

 if ($?.to_i != 0)

   raise error running heroku config: #{$?}

   $stderr.puts config_output

 end
 config_output.each_line do |line|

   parts = line.split(=, 2)

   raise invalid line #{line} if (parts.size != 2)

   config[parts[0].strip] = parts[1].strip

 end
 config


 On Mon, Dec 24, 2012 at 9:42 PM, Francois fha...@gmail.com wrote:

 hi,
  i wrote a gem a year or so ago that adds some rake tasks to a
 RefineryCMS rails project (https://github.com/rounders/**
 refinerycms-s3assets https://github.com/rounders/refinerycms-s3assets)
 . The rake tasks are meant to be run in development and they are for
 copying production s3 assets to development.

 Using the heroku gem, my gem reads the s3-related heroku config vars in
 order to determine which s3 bucket to fetch the assets from and which s3
 credentials to use. Specifically the config vars are obtained as follows:

  base = Heroku::Command::BaseWithApp.**new
  config_vars = base.heroku.config_vars(base.**app)

 It is my understanding that the heroku gem should no longer be used and
 that we should instead use the heroku-api gem. But as far as I can tell the
 heroku-api gem does not automatically handle figuring out the current
 heroku app as the heroku gem does. And there is also the issue of
 authentication, though that one isn't as much of an issue since I can ask
 users to set their HEROKU_API_KEY environment variable.

 Is there a recommended way to obtain the config vars of an app via a
 rake task without asking the user to hard code or specify the name of their
 heroku app without using the heroku gem?

 - Thanks,
 Francois









  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+un...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
Heroku Community group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to heroku+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.




Re: heroku[router]: Error H12 (Request timeout) causing Application Error

2013-01-25 Thread Daniel Doubrovkine
Every single one of these has been a problem with our application. I
suggest using NewRelic, which will instrument the requests and show you
where you're spending time during those requests that time out.

Another idea is to use the https://github.com/kch/rack-timeout gem and set
the timeout somewhere at 20 seconds or so. It will raise an exception after
20s of a request and you might get a more useful stack.

On Fri, Jan 25, 2013 at 9:39 AM, Scott Messinger sc...@commoncurriculum.com
 wrote:

 Hi Sebastien,

 On our site, we're seeing the same errors without any perceptible cause.
 Did you find a fix or a cause for the H12 errors you were seeing?

 Scott


 On Wednesday, June 27, 2012 10:49:38 AM UTC-4, Sébastien VIAN wrote:

 Hi i'm having the same issue basically.

 Error H12 (Request timeout) - GET *.herokuapp.com/ dyno=web.1
 queue= wait= service=3ms status=503 bytes=0 CRIT

 Random request timeout. Monitoring this in New relic I see that after
 this kind of error my app is going down for 1 hour or more and then start
 work fine again.

 I must say that I'm on devellopment so I run the app on a single dyno.(I
 tried to scale up to 3 but nothing changed).
 althought I'm the only visitor (testor) of my app so there is no way that
 I drawning my dyno under requests...

 I really don't understand what is going on and the error message are not
 helping neither is google

 I like heroku very much but this is critical and I'm starting to doubt
 wether heroku is a fine solution for production.

 Any kind of help would be very much appreciated.


 sebastien.

  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en







-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en





Re: heroku[router]: Error H12 (Request timeout) causing Application Error

2013-01-25 Thread Daniel Doubrovkine
Assuming you have more than 1 dyno, the dynos are always up.

Then, is this a Rails app? Thin? Unicorn? Heroku round-robins requests, so
it's possible that there're 2 requests coming at the same time, and both go
to the same dyno. Then your app has a bug where the second request isn't
being served, gets stuck, etc?

On Fri, Jan 25, 2013 at 10:47 AM, Scott Messinger 
sc...@commoncurriculum.com wrote:

 Hi Daniel,

 Thanks for the response. We've been using the rack-timeout gem (timeout of
 10 seconds) and have been using NewRelic. We can't find any indication that
 our app is taking more than 100ms to respond.

 Granted, this seems odd. However, the logs and new relic tell the same
 story: a dyno will return a response in 50ms and then, 5 seconds later,
 heroku will say the dyno has timed out. It's really odd.

 Any ideas?

 Scott

 Scott Messinger *|* Founder, Common Curriculum *|* (360) 904.5947  *|*
 @scottmessinger *|* www.commoncurriculum.com


 On Fri, Jan 25, 2013 at 10:01 AM, Daniel Doubrovkine dbl...@dblock.orgwrote:

 Every single one of these has been a problem with our application. I
 suggest using NewRelic, which will instrument the requests and show you
 where you're spending time during those requests that time out.

 Another idea is to use the https://github.com/kch/rack-timeout gem and
 set the timeout somewhere at 20 seconds or so. It will raise an exception
 after 20s of a request and you might get a more useful stack.


 On Fri, Jan 25, 2013 at 9:39 AM, Scott Messinger 
 sc...@commoncurriculum.com wrote:

 Hi Sebastien,

 On our site, we're seeing the same errors without any perceptible cause.
 Did you find a fix or a cause for the H12 errors you were seeing?

 Scott


 On Wednesday, June 27, 2012 10:49:38 AM UTC-4, Sébastien VIAN wrote:

 Hi i'm having the same issue basically.

 Error H12 (Request timeout) - GET *.herokuapp.com/ dyno=web.1
 queue= wait= service=3ms status=503 bytes=0 CRIT

 Random request timeout. Monitoring this in New relic I see that after
 this kind of error my app is going down for 1 hour or more and then start
 work fine again.

 I must say that I'm on devellopment so I run the app on a single
 dyno.(I tried to scale up to 3 but nothing changed).
 althought I'm the only visitor (testor) of my app so there is no way
 that I drawning my dyno under requests...

 I really don't understand what is going on and the error message are
 not helping neither is google

 I like heroku very much but this is critical and I'm starting to doubt
 wether heroku is a fine solution for production.

 Any kind of help would be very much appreciated.


 sebastien.

  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en







 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

 --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en





  --
 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en







-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en





Re: Ask a web dyno if it is currently up, from the outside?

2013-01-06 Thread Daniel Doubrovkine
Fyi, I opened https://github.com/dblock/heroku-forward/issues/3, with some
notes. I'd be happy to help.

On Wed, Dec 26, 2012 at 2:52 PM, Andrew Lorente andrew.lore...@gmail.comwrote:

 Oooh, that looks like something I can work with. I'll have to send you a
 pull request for gunicorn support too :-)


 On Wed, Dec 26, 2012 at 8:30 AM, Daniel Doubrovkine dbl...@dblock.orgwrote:

 This might be a stretch, but it could also be quite cool :)

 I would divide dyno start in two: a web proxy that responds to requests
 quickly while waiting for the actual service to start. Check out
 https://github.com/dblock/heroku-forward - it's an em-proxy that is up
 almost immediately and is capable of responding to requests. Right now it
 just queues them until the actual web server is started, but it could very
 well respond immediately with something like the service is starting. I'd
 love a pull request that gives users that option.

 On Wed, Dec 26, 2012 at 11:21 AM, Neil Middleton 
 n...@neilmiddleton.comwrote:

 Assume that if its taking more than a couple of seconds that this is the
 case?


 On Wednesday, December 26, 2012, Andrew Lorente wrote:

 Hi,

 I'm writing a commandline client that consumes a web api that currently
 lives in a single web dyno. I'd like the client to be able to tell the user
 hey the dyno is starting up; it'll be a second. Short of having the
 heroku credentials and asking heroku directly, is there any way to get that
 information?

 Andrew

 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: heroku-api

2012-12-27 Thread Daniel Doubrovkine
Indeed, maybe this does belong in a gem. Either way one wants to be able to
do programmatically everything that the `heroku` command does without
having to call it.

On Thu, Dec 27, 2012 at 1:53 PM, geemus wes...@heroku.com wrote:

 I think Daniels approach is the easiest currently (thanks dB!). Perhaps we
 should create a gem for doing looking up the implied app as I'm reticent to
 say it belong in heroku-api.

 As for config you should be able to use the netrc gem and read the
 credentials for 'api.heroku.com' in order to get them.

 Hope that helps.


 On Tuesday, December 25, 2012 8:12:01 AM UTC-6, dB. wrote:

 We've asked a similar question a while ago, and the best we could come up
 with is a hack to run `heroku config -s`.

 config = {}
 config_output = `heroku config -s#{app_param}`.chomp
 if ($?.to_i != 0)
   raise error running heroku config: #{$?}
   $stderr.puts config_output
 end
 config_output.each_line do |line|
   parts = line.split(=, 2)
   raise invalid line #{line} if (parts.size != 2)
   config[parts[0].strip] = parts[1].strip
 end
 config


 On Mon, Dec 24, 2012 at 9:42 PM, Francois fha...@gmail.com wrote:

 hi,
  i wrote a gem a year or so ago that adds some rake tasks to a
 RefineryCMS rails project (https://github.com/rounders/**
 refinerycms-s3assets https://github.com/rounders/refinerycms-s3assets)
 . The rake tasks are meant to be run in development and they are for
 copying production s3 assets to development.

 Using the heroku gem, my gem reads the s3-related heroku config vars in
 order to determine which s3 bucket to fetch the assets from and which s3
 credentials to use. Specifically the config vars are obtained as follows:

  base = Heroku::Command::BaseWithApp.**new
  config_vars = base.heroku.config_vars(base.**app)

 It is my understanding that the heroku gem should no longer be used and
 that we should instead use the heroku-api gem. But as far as I can tell the
 heroku-api gem does not automatically handle figuring out the current
 heroku app as the heroku gem does. And there is also the issue of
 authentication, though that one isn't as much of an issue since I can ask
 users to set their HEROKU_API_KEY environment variable.

 Is there a recommended way to obtain the config vars of an app via a
 rake task without asking the user to hard code or specify the name of their
 heroku app without using the heroku gem?

 - Thanks,
 Francois









  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+un...@**googlegroups.com

 For more options, visit this group at
 http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: Ask a web dyno if it is currently up, from the outside?

2012-12-26 Thread Daniel Doubrovkine
This might be a stretch, but it could also be quite cool :)

I would divide dyno start in two: a web proxy that responds to requests
quickly while waiting for the actual service to start. Check out
https://github.com/dblock/heroku-forward - it's an em-proxy that is up
almost immediately and is capable of responding to requests. Right now it
just queues them until the actual web server is started, but it could very
well respond immediately with something like the service is starting. I'd
love a pull request that gives users that option.

On Wed, Dec 26, 2012 at 11:21 AM, Neil Middleton n...@neilmiddleton.comwrote:

 Assume that if its taking more than a couple of seconds that this is the
 case?


 On Wednesday, December 26, 2012, Andrew Lorente wrote:

 Hi,

 I'm writing a commandline client that consumes a web api that currently
 lives in a single web dyno. I'd like the client to be able to tell the user
 hey the dyno is starting up; it'll be a second. Short of having the
 heroku credentials and asking heroku directly, is there any way to get that
 information?

 Andrew

 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: heroku-api

2012-12-25 Thread Daniel Doubrovkine
We've asked a similar question a while ago, and the best we could come up
with is a hack to run `heroku config -s`.

config = {}
config_output = `heroku config -s#{app_param}`.chomp
if ($?.to_i != 0)
  raise error running heroku config: #{$?}
  $stderr.puts config_output
end
config_output.each_line do |line|
  parts = line.split(=, 2)
  raise invalid line #{line} if (parts.size != 2)
  config[parts[0].strip] = parts[1].strip
end
config


On Mon, Dec 24, 2012 at 9:42 PM, Francois fhar...@gmail.com wrote:

 hi,
  i wrote a gem a year or so ago that adds some rake tasks to a RefineryCMS
 rails project (https://github.com/rounders/refinerycms-s3assets) . The
 rake tasks are meant to be run in development and they are for copying
 production s3 assets to development.

 Using the heroku gem, my gem reads the s3-related heroku config vars in
 order to determine which s3 bucket to fetch the assets from and which s3
 credentials to use. Specifically the config vars are obtained as follows:

  base = Heroku::Command::BaseWithApp.new
  config_vars = base.heroku.config_vars(base.app)

 It is my understanding that the heroku gem should no longer be used and
 that we should instead use the heroku-api gem. But as far as I can tell the
 heroku-api gem does not automatically handle figuring out the current
 heroku app as the heroku gem does. And there is also the issue of
 authentication, though that one isn't as much of an issue since I can ask
 users to set their HEROKU_API_KEY environment variable.

 Is there a recommended way to obtain the config vars of an app via a rake
 task without asking the user to hard code or specify the name of their
 heroku app without using the heroku gem?

 - Thanks,
 Francois









  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


[ANN] heroku-forward: beat the 60s application boot timeout

2012-12-13 Thread Daniel Doubrovkine
Many have been struggling with the Heroku R10 boot timeout.

Announcing heroku-forward, a new gem for those with larger or slower
applications struggling to boot on Heroku within the 60s timeout limit. See
http://artsy.github.com/blog/2012/12/13/beat-heroku-60-seconds-application-boot-timeout-with-a-proxyfor
an introduction.

Of course, it's best not to have this problem and being able to boot your
application in less than 60 seconds, but this could be your short/medium
term fix when you hit the boot time limit.

Hope it helps,

cheers
dB.

-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: [ANN] heroku-forward: beat the 60s application boot timeout

2012-12-13 Thread Daniel Doubrovkine
Heroku-preboot doesn't achieve the same thing: it changes the order in
which dynos stop/start - instead of first stopping dynos, then queuing,
then starting dynos, it first starts the new dynos, then swaps them after 2
minutes. The 60s timeout still applies to the new dynos the same way as it
did before.

A request routed to the live dyno is queued inside the dyno (inside the
proxy). When all your dynos are queuing, Heroku will queue the request. If
a dyno failed to serve the request in 30s, you get an H20 request timeout.
To mitigate this, the proxy also supports a delay option that will sleep
for 0  N  60 seconds waiting for your backend to come up - we run it with
45 seconds - our average server boot time is somewhere around 65s and we
want to get closer to Heroku's 60s limit (in theory we should set our delay
to 59s, but you know, computers aren't that precise :).

On Thu, Dec 13, 2012 at 10:26 AM, Neil Middleton n...@neilmiddleton.comwrote:

 Interesting.

 Does using Heroku pre boot also achieve this or does the 60 second limit
 still apply?  https://devcenter.heroku.com/articles/labs-preboot/
 What happens to requests that get routed to the 'live' dyno before the app
 has started?

 --
 Neil

 On Thursday, 13 December 2012 at 15:21, Daniel Doubrovkine wrote:

 Many have been struggling with the Heroku R10 boot timeout.

 Announcing heroku-forward, a new gem for those with larger or slower
 applications struggling to boot on Heroku within the 60s timeout limit. See
 http://artsy.github.com/blog/2012/12/13/beat-heroku-60-seconds-application-boot-timeout-with-a-proxyfor
  an introduction.

 Of course, it's best not to have this problem and being able to boot your
 application in less than 60 seconds, but this could be your short/medium
 term fix when you hit the boot time limit.

 Hope it helps,

 cheers
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: [ANN] heroku-forward: beat the 60s application boot timeout

2012-12-13 Thread Daniel Doubrovkine
Correct. Where did I say it prevents H20? :)

On Thu, Dec 13, 2012 at 11:18 AM, Neil Middleton n...@neilmiddleton.comwrote:

 So there is still the behaviour where your app is effectively down while
 you're waiting for the dynos to spin up?  It looks to me like this gets
 round the issue of preventing deploys from working due to R10 rather than
 preventing H20's?

 --
 Neil

 On Thursday, 13 December 2012 at 16:06, Daniel Doubrovkine wrote:

 Heroku-preboot doesn't achieve the same thing: it changes the order in
 which dynos stop/start - instead of first stopping dynos, then queuing,
 then starting dynos, it first starts the new dynos, then swaps them after 2
 minutes. The 60s timeout still applies to the new dynos the same way as it
 did before.

 A request routed to the live dyno is queued inside the dyno (inside the
 proxy). When all your dynos are queuing, Heroku will queue the request. If
 a dyno failed to serve the request in 30s, you get an H20 request timeout.
 To mitigate this, the proxy also supports a delay option that will sleep
 for 0  N  60 seconds waiting for your backend to come up - we run it with
 45 seconds - our average server boot time is somewhere around 65s and we
 want to get closer to Heroku's 60s limit (in theory we should set our delay
 to 59s, but you know, computers aren't that precise :).

 On Thu, Dec 13, 2012 at 10:26 AM, Neil Middleton 
 n...@neilmiddleton.comwrote:

 Interesting.

 Does using Heroku pre boot also achieve this or does the 60 second limit
 still apply?  https://devcenter.heroku.com/articles/labs-preboot/
 What happens to requests that get routed to the 'live' dyno before the app
 has started?

 --
 Neil

 On Thursday, 13 December 2012 at 15:21, Daniel Doubrovkine wrote:

 Many have been struggling with the Heroku R10 boot timeout.

 Announcing heroku-forward, a new gem for those with larger or slower
 applications struggling to boot on Heroku within the 60s timeout limit. See
 http://artsy.github.com/blog/2012/12/13/beat-heroku-60-seconds-application-boot-timeout-with-a-proxyfor
  an introduction.

 Of course, it's best not to have this problem and being able to boot your
 application in less than 60 seconds, but this could be your short/medium
 term fix when you hit the boot time limit.

 Hope it helps,

 cheers
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: [ANN] heroku-forward: beat the 60s application boot timeout

2012-12-13 Thread Daniel Doubrovkine
The 30 second timeout for requests is another great problem (not) to have.
It's actually very bad if you think about it - a timed out request that is
still processing will receive a new request from the routing mesh after the
30 seconds. This makes the dyno look stuck.

I wrote about this here:
http://artsy.github.com/blog/2012/11/15/how-to-monitor-503s-and-timeout-on-heroku/and
some ways to avoid it. Sadly throwing an exception before 30 seconds
doesn't solve everything - the dyno may need to garbage collect or do
whatever it needs to do and while it improves the stuck dyno situation, it
doesn't really go away.

On Thu, Dec 13, 2012 at 2:03 PM, Neil Middleton n...@neilmiddleton.comwrote:

 Nowhere. Just wondering ;)


 On Thursday, December 13, 2012, Daniel Doubrovkine wrote:

 Correct. Where did I say it prevents H20? :)

 On Thu, Dec 13, 2012 at 11:18 AM, Neil Middleton 
 n...@neilmiddleton.comwrote:

 So there is still the behaviour where your app is effectively down while
 you're waiting for the dynos to spin up?  It looks to me like this gets
 round the issue of preventing deploys from working due to R10 rather than
 preventing H20's?

 --
 Neil

 On Thursday, 13 December 2012 at 16:06, Daniel Doubrovkine wrote:

 Heroku-preboot doesn't achieve the same thing: it changes the order in
 which dynos stop/start - instead of first stopping dynos, then queuing,
 then starting dynos, it first starts the new dynos, then swaps them after 2
 minutes. The 60s timeout still applies to the new dynos the same way as it
 did before.

 A request routed to the live dyno is queued inside the dyno (inside the
 proxy). When all your dynos are queuing, Heroku will queue the request. If
 a dyno failed to serve the request in 30s, you get an H20 request timeout.
 To mitigate this, the proxy also supports a delay option that will sleep
 for 0  N  60 seconds waiting for your backend to come up - we run it with
 45 seconds - our average server boot time is somewhere around 65s and we
 want to get closer to Heroku's 60s limit (in theory we should set our delay
 to 59s, but you know, computers aren't that precise :).

 On Thu, Dec 13, 2012 at 10:26 AM, Neil Middleton 
 n...@neilmiddleton.comwrote:

 Interesting.

 Does using Heroku pre boot also achieve this or does the 60 second limit
 still apply?  https://devcenter.heroku.com/articles/labs-preboot/
 What happens to requests that get routed to the 'live' dyno before the
 app has started?

 --
 Neil

 On Thursday, 13 December 2012 at 15:21, Daniel Doubrovkine wrote:

 Many have been struggling with the Heroku R10 boot timeout.

 Announcing heroku-forward, a new gem for those with larger or slower
 applications struggling to boot on Heroku within the 60s timeout limit. See
 http://artsy.github.com/blog/2012/12/13/beat-heroku-60-seconds-application-boot-timeout-with-a-proxyfor
  an introduction.

 Of course, it's best not to have this problem and being able to boot your
 application in less than 60 seconds, but this could be your short/medium
 term fix when you hit the boot time limit.

 Hope it helps,

 cheers
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


How do you track your 503s?

2012-11-12 Thread Daniel Doubrovkine
We occasionally get 503s, caused by all kinds of things - a dyno will be
sitting in a lock, a database went MIA, Heroku is having trouble, etc.

How do you track 503s? I'd like to keep their counts, graph, etc. Ideally
I'd like to get them in New Relic, but these are errors that happen outside
of our dynos.

Thanks,
dB.

-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: How do you track your 503s?

2012-11-12 Thread Daniel Doubrovkine
Neil, thank you.

Can you elaborate on this? Are you saying I can pull data I have in
papertrail right now into New Relic?

On Mon, Nov 12, 2012 at 4:55 PM, Neil Middleton n...@neilmiddleton.comwrote:

 If you're using an add-on such as Papertrail you can pretty much track
 what you want via your own searches and alerts.

 I'm not sure of any way of doing it with NewRelic.

 N

 --
 Neil

 On Monday, 12 November 2012 at 21:53, Jonathan Baudanza wrote:

 I don't know of a way to track 503s, but the Request Queuing measurement
 in New Relic is helpful. This will tell you if all of your available dynos
 are being consumed. This may not be related to 503s, but it often is.

 On Mon, Nov 12, 2012 at 12:36 PM, Daniel Doubrovkine dbl...@dblock.orgwrote:

 We occasionally get 503s, caused by all kinds of things - a dyno will be
 sitting in a lock, a database went MIA, Heroku is having trouble, etc.

 How do you track 503s? I'd like to keep their counts, graph, etc. Ideally
 I'd like to get them in New Relic, but these are errors that happen outside
 of our dynos.

 Thanks,
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en


  --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


`write': \xC3 from ASCII-8BIT to UTF-8 (Encoding::UndefinedConversionError)

2012-05-27 Thread Daniel Doubrovkine
I have 2.21.2 heroku client, running on Linux. I see this from a heroku
rake output and command fails:

/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/helpers.rb:21:in
`write': \xC3 from ASCII-8BIT to UTF-8
(Encoding::UndefinedConversionError)*04:34:27*  from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/helpers.rb:21:in
`print'*04:34:27*   from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/helpers.rb:21:in
`display'*04:34:27* from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/command/run.rb:74:in
`block in rake'*04:34:27*   from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/client.rb:314:in
`each'*04:34:27*from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/command/run.rb:74:in
`rake'*04:34:27*from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/command.rb:135:in
`run'*04:34:27* from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/lib/heroku/cli.rb:9:in
`start'*04:34:27*   from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/gems/heroku-2.21.2/bin/heroku:21:in
`top (required)'*04:34:27*from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/bin/heroku:19:in
`load'*04:34:27*from
/home/jenkins/.rvm/gems/ruby-1.9.2-p290/bin/heroku:19:in
`main'*04:34:28*  rake aborted!


I can't pinpoint which exact piece of data is causing this, but I imagine
on the server there's a logger.log that includes some poorly encoded
characters?

I couldn't find anything in the changelog since that version that could
explain what's going on, but I am trying the latest 2.26. This happens in a
cron process, so it will take me a few days to see whether this is fixed or
not.

Anyone seen this? Any commit since 2.21 that might have fixed this?

Thx
-dB.

-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: Programmatic access to heroku with the Heroku Client gem

2012-05-10 Thread Daniel Doubrovkine
I would definitely prefer the SSH key because:

   1. Every developer already has one.
   2. It's the preferred authentication with Heroku for the command line
   client, you have to upload your key when you set it up the first time.
   3. It's the preferred authentication with Github and many other services
   developers use daily.

All that said, what matters i the initial setup. Right now it means
doing *heroku
keys:add*. If I have to do *heroku login
--save-my-api-key-to-local-machine-for-future-authentication-via-heroku-api*
that
might work too.

cheers
dB.

On Tue, May 8, 2012 at 11:07 AM, geemus wes...@heroku.com wrote:

 I'm happy to continue discussing pretty much indefinitely, I just didn't
 want you to think I was blowing you off or not paying attention or
 something.

 I can certainly see the value of a single secret.  I think we may actually
 be moving more toward that model, but I think the defacto credential we
 were settling toward was actually the API key.  If there were only one
 credential, but it was the API key, would that be satisfactory?  Would you
 prefer the SSH key as the single secret?


 On Monday, May 7, 2012 2:05:43 PM UTC-5, dB. wrote:

 No, please, lets get going :) I really appreciate you replying. Something
 good will come out of this!

 I want users to have one single secret - their SSH key should let me
 obtain their API key, I don't want to store that anywhere. No?

 On Mon, May 7, 2012 at 11:46 AM, geemus wes...@heroku.com wrote:

 I'm not sure what you mean exactly.  You say that the API key is a
 single key for all clients.  Do all the developers use the same heroku
 account?  If they all have different accounts and API keys I think that
 there are capabilities for controlling access in a bit more fine grained
 way.  I would also expect that the SSH key is the key to git usage, but
 that the API key is key to everything else.  As such I would expect that
 each user would have their own and that they would need to have these
 unique credentials locally to be able to utilize the API in the first
 place.  Is that not how you have structured things?

 Sorry to be going, perhaps backwards there, but I didn't quite follow a
 couple of your statements, so a little clarification would be great.
  Thanks!
 wes


 On Friday, May 4, 2012 6:51:39 AM UTC-5, dB. wrote:

 Lets back-up for a second :)

 The point is that we don't want to hard-code any credentials on the
 client.  You have an SSH key and that's the key to the kingdom. And it's
 your SSH key, not someone else's. And we want to be able to fetch variables
 from your default heroku application identified by a git remote.

 Heroku-api doesn't work like this, it wants an API key. It's a single
 key for all clients, and we don't want that. It would mean committing it to
 source control, not being able to kick out developers that leave the team,
 etc. So there would be two action items here: modify the code to support
 SSH auth, add code that figures out the default app from the git remote to
 this gem.

 Heroku client works like this, it uses your SSH credentials to
 authenticate. It also has the code to figure out the default heroku
 application from git remotes, but that code is buried in the gem and is not
 accessible unless you execute a command. This would need some refactoring
 to pull out the default application name.

 @geemus, what would you do?

 On Thu, May 3, 2012 at 6:00 PM, geemus wes...@heroku.com wrote:

 That does make sense.  The way I usually do something like that is to
 set the rake task to just look for S3_BUCKET on my local machine as well
 and then each developer could just export the appropriate environment
 variable locally to make things work.  You might want to namespace it a 
 bit
 though, especially if you have multiple apps, to something like
 MYAPP_S3_BUCKET, just to avoid conflicts.

 That doesn't really answer the initial question though.  I'm not
 exactly sure what the best way to find the default app in a case like that
 would be.  Perhaps there should be a command that would output it, similar
 to how you can use `heroku auth:user` or `heroku auth:token` to make the
 client parse credentials and spit them out for you.  Maybe something like
 `heroku apps:current` or something.  Thoughts?

 wes

 On Thursday, May 3, 2012 10:48:47 AM UTC-5, dB. wrote:

 Take the example of a rake task that pushes a deployment to Heroku
 along with some S3 assets. Every developer has their own heroku
 application, and they configure it by creating a Heroku remote origin.

 To push to heroku a developer does do *git push heroku master*, then
 they need to push some assets to their own S3 bucket (eg.
 developer-bucket). The name of the bucket is configured as a S3_BUCKET
 variable on their heroku application. Right now we execute 'heroku config
 --long', parse that to figure out what the S3_BUCKET is, which is not
 ideal. Nowhere the Rake task knows the name of the remote Heroku
 application.

 Of course we 

Re: Multiple Ruby Version Support on Heroku

2012-05-10 Thread Daniel Doubrovkine
I tried to get it to work on bamboo and I can't get Heroku to use bundler
1.2.0-pre, it keeps defaulting to 1.0.7.

- Heroku receiving push
- Ruby/Rails app detected
- Detected Rails is not set to serve static_assets
   Installing rails3_serve_static_assets... done
- Configure Rails 3 to disable x-sendfile
   Installing rails3_disable_x_sendfile... done
- Configure Rails to log to stdout
   Installing rails_log_stdout... done
*- Gemfile detected, running Bundler version 1.0.7*

Is this only supported on Cedar?

Thanks,
dB.

On Wed, May 9, 2012 at 11:29 AM, richard schneeman 
richard.schnee...@gmail.com wrote:

 Starting now, you can pick your version of Ruby on Heroku, try it out
 right now!


 http://blog.heroku.com/archives/2012/5/9/multiple_ruby_version_support_on_heroku/

 --
 @schneems

 --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: Programmatic access to heroku with the Heroku Client gem

2012-05-07 Thread Daniel Doubrovkine
No, please, lets get going :) I really appreciate you replying. Something
good will come out of this!

I want users to have one single secret - their SSH key should let me obtain
their API key, I don't want to store that anywhere. No?

On Mon, May 7, 2012 at 11:46 AM, geemus wes...@heroku.com wrote:

 I'm not sure what you mean exactly.  You say that the API key is a single
 key for all clients.  Do all the developers use the same heroku account?
  If they all have different accounts and API keys I think that there are
 capabilities for controlling access in a bit more fine grained way.  I
 would also expect that the SSH key is the key to git usage, but that the
 API key is key to everything else.  As such I would expect that each user
 would have their own and that they would need to have these unique
 credentials locally to be able to utilize the API in the first place.  Is
 that not how you have structured things?

 Sorry to be going, perhaps backwards there, but I didn't quite follow a
 couple of your statements, so a little clarification would be great.
  Thanks!
 wes


 On Friday, May 4, 2012 6:51:39 AM UTC-5, dB. wrote:

 Lets back-up for a second :)

 The point is that we don't want to hard-code any credentials on the
 client.  You have an SSH key and that's the key to the kingdom. And it's
 your SSH key, not someone else's. And we want to be able to fetch variables
 from your default heroku application identified by a git remote.

 Heroku-api doesn't work like this, it wants an API key. It's a single key
 for all clients, and we don't want that. It would mean committing it to
 source control, not being able to kick out developers that leave the team,
 etc. So there would be two action items here: modify the code to support
 SSH auth, add code that figures out the default app from the git remote to
 this gem.

 Heroku client works like this, it uses your SSH credentials to
 authenticate. It also has the code to figure out the default heroku
 application from git remotes, but that code is buried in the gem and is not
 accessible unless you execute a command. This would need some refactoring
 to pull out the default application name.

 @geemus, what would you do?

 On Thu, May 3, 2012 at 6:00 PM, geemus wes...@heroku.com wrote:

 That does make sense.  The way I usually do something like that is to
 set the rake task to just look for S3_BUCKET on my local machine as well
 and then each developer could just export the appropriate environment
 variable locally to make things work.  You might want to namespace it a bit
 though, especially if you have multiple apps, to something like
 MYAPP_S3_BUCKET, just to avoid conflicts.

 That doesn't really answer the initial question though.  I'm not exactly
 sure what the best way to find the default app in a case like that would
 be.  Perhaps there should be a command that would output it, similar to how
 you can use `heroku auth:user` or `heroku auth:token` to make the client
 parse credentials and spit them out for you.  Maybe something like `heroku
 apps:current` or something.  Thoughts?

 wes

 On Thursday, May 3, 2012 10:48:47 AM UTC-5, dB. wrote:

 Take the example of a rake task that pushes a deployment to Heroku
 along with some S3 assets. Every developer has their own heroku
 application, and they configure it by creating a Heroku remote origin.

 To push to heroku a developer does do *git push heroku master*, then
 they need to push some assets to their own S3 bucket (eg.
 developer-bucket). The name of the bucket is configured as a S3_BUCKET
 variable on their heroku application. Right now we execute 'heroku config
 --long', parse that to figure out what the S3_BUCKET is, which is not
 ideal. Nowhere the Rake task knows the name of the remote Heroku
 application.

 Of course we could force every developer to hardcode the name of their
 application somewhere on the client, but we might as well keep our heroku
 config output parsing instead.

 Makes sense?

 On Wed, May 2, 2012 at 12:10 PM, geemus wes...@heroku.com wrote:

 I'd actually recommend checking out the heroku-api gem for programatic
 access.  You can cover your example then this way:

 require heroku-api
 api = Heroku::API.new(:api_key = XXX)
 api.get_convig_vars(my-app).body

 That said, I'm not sure what the best answer is on the default app
 front.  Could you describe how you intend to use this information?  I 
 think
 that might help me narrow down a recommendation and/or fix it up to make 
 it
 easier to do what you need.

 Thanks!
 wes


 On Tuesday, May 1, 2012 5:48:22 PM UTC-5, dB. wrote:

 I'm trying to replace some code in a Rake task that executes 'heroku
 config --long' and parses the output.

 I can do this:

 c = Heroku::Client.new(* Heroku::Auth.read_credentials)
 c.config_vars(my-app)

 Awesome, this returns the configuration variables for my-app as a
 Hash.

 The next problem is how to figure out the default app name - in
 development environments we often want to have 

Re: Programmatic access to heroku with the Heroku Client gem

2012-05-04 Thread Daniel Doubrovkine
Lets back-up for a second :)

The point is that we don't want to hard-code any credentials on the client.
 You have an SSH key and that's the key to the kingdom. And it's your SSH
key, not someone else's. And we want to be able to fetch variables from
your default heroku application identified by a git remote.

Heroku-api doesn't work like this, it wants an API key. It's a single key
for all clients, and we don't want that. It would mean committing it to
source control, not being able to kick out developers that leave the team,
etc. So there would be two action items here: modify the code to support
SSH auth, add code that figures out the default app from the git remote to
this gem.

Heroku client works like this, it uses your SSH credentials to
authenticate. It also has the code to figure out the default heroku
application from git remotes, but that code is buried in the gem and is not
accessible unless you execute a command. This would need some refactoring
to pull out the default application name.

@geemus, what would you do?

On Thu, May 3, 2012 at 6:00 PM, geemus wes...@heroku.com wrote:

 That does make sense.  The way I usually do something like that is to set
 the rake task to just look for S3_BUCKET on my local machine as well and
 then each developer could just export the appropriate environment variable
 locally to make things work.  You might want to namespace it a bit though,
 especially if you have multiple apps, to something like MYAPP_S3_BUCKET,
 just to avoid conflicts.

 That doesn't really answer the initial question though.  I'm not exactly
 sure what the best way to find the default app in a case like that would
 be.  Perhaps there should be a command that would output it, similar to how
 you can use `heroku auth:user` or `heroku auth:token` to make the client
 parse credentials and spit them out for you.  Maybe something like `heroku
 apps:current` or something.  Thoughts?

 wes

 On Thursday, May 3, 2012 10:48:47 AM UTC-5, dB. wrote:

 Take the example of a rake task that pushes a deployment to Heroku along
 with some S3 assets. Every developer has their own heroku application, and
 they configure it by creating a Heroku remote origin.

 To push to heroku a developer does do *git push heroku master*, then
 they need to push some assets to their own S3 bucket (eg.
 developer-bucket). The name of the bucket is configured as a S3_BUCKET
 variable on their heroku application. Right now we execute 'heroku config
 --long', parse that to figure out what the S3_BUCKET is, which is not
 ideal. Nowhere the Rake task knows the name of the remote Heroku
 application.

 Of course we could force every developer to hardcode the name of their
 application somewhere on the client, but we might as well keep our heroku
 config output parsing instead.

 Makes sense?

 On Wed, May 2, 2012 at 12:10 PM, geemus wes...@heroku.com wrote:

 I'd actually recommend checking out the heroku-api gem for programatic
 access.  You can cover your example then this way:

 require heroku-api
 api = Heroku::API.new(:api_key = XXX)
 api.get_convig_vars(my-app).**body

 That said, I'm not sure what the best answer is on the default app
 front.  Could you describe how you intend to use this information?  I think
 that might help me narrow down a recommendation and/or fix it up to make it
 easier to do what you need.

 Thanks!
 wes


 On Tuesday, May 1, 2012 5:48:22 PM UTC-5, dB. wrote:

 I'm trying to replace some code in a Rake task that executes 'heroku
 config --long' and parses the output.

 I can do this:

 c = Heroku::Client.new(* Heroku::Auth.read_credentials)
 c.config_vars(my-app)

 Awesome, this returns the configuration variables for my-app as a Hash.

 The next problem is how to figure out the default app name - in
 development environments we often want to have our tasks run against our
 default development Heroku instance. The code I want to call is in
 lib/heroku/command/base.rb, extract_app_in_dir(Dir.pwd). There's
 quite a bit of logic underneath this, storing git remotes and what not.

1. Do you think this should be refactored so that one can call
extract_app_in_dir without an instance of a class?
2. Is there a simple(r) way to get the default app name?

 Thanks,
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

   --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscribe@**googlegroups.comheroku%2bunsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en




 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

   --
 You received this message because you are subscribed to the Google
 Groups Heroku 

Re: Programmatic access to heroku with the Heroku Client gem

2012-05-03 Thread Daniel Doubrovkine
Take the example of a rake task that pushes a deployment to Heroku along
with some S3 assets. Every developer has their own heroku application, and
they configure it by creating a Heroku remote origin.

To push to heroku a developer does do *git push heroku master*, then they
need to push some assets to their own S3 bucket (eg. developer-bucket). The
name of the bucket is configured as a S3_BUCKET variable on their heroku
application. Right now we execute 'heroku config --long', parse that to
figure out what the S3_BUCKET is, which is not ideal. Nowhere the Rake task
knows the name of the remote Heroku application.

Of course we could force every developer to hardcode the name of their
application somewhere on the client, but we might as well keep our heroku
config output parsing instead.

Makes sense?

On Wed, May 2, 2012 at 12:10 PM, geemus wes...@heroku.com wrote:

 I'd actually recommend checking out the heroku-api gem for programatic
 access.  You can cover your example then this way:

 require heroku-api
 api = Heroku::API.new(:api_key = XXX)
 api.get_convig_vars(my-app).body

 That said, I'm not sure what the best answer is on the default app front.
  Could you describe how you intend to use this information?  I think that
 might help me narrow down a recommendation and/or fix it up to make it
 easier to do what you need.

 Thanks!
 wes


 On Tuesday, May 1, 2012 5:48:22 PM UTC-5, dB. wrote:

 I'm trying to replace some code in a Rake task that executes 'heroku
 config --long' and parses the output.

 I can do this:

 c = Heroku::Client.new(* Heroku::Auth.read_credentials)
 c.config_vars(my-app)

 Awesome, this returns the configuration variables for my-app as a Hash.

 The next problem is how to figure out the default app name - in
 development environments we often want to have our tasks run against our
 default development Heroku instance. The code I want to call is in
 lib/heroku/command/base.rb, ex**tract_app_in_dir(Dir.pwd). There's quite
 a bit of logic underneath this, storing git remotes and what not.

1. Do you think this should be refactored so that one can call
extract_app_in_dir without an instance of a class?
2. Is there a simple(r) way to get the default app name?

 Thanks,
 dB.

 --

 dB. | Moscow - Geneva - Seattle - New York
 dblock.org http://www.dblock.org - 
 @dblockdotorghttp://twitter.com/#!/dblockdotorg

   --
 You received this message because you are subscribed to the Google
 Groups Heroku group.

 To unsubscribe from this group, send email to
 heroku+unsubscr...@googlegroups.com
 For more options, visit this group at
 http://groups.google.com/group/heroku?hl=en_US?hl=en




-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Programmatic access to heroku with the Heroku Client gem

2012-05-01 Thread Daniel Doubrovkine
I'm trying to replace some code in a Rake task that executes 'heroku config
--long' and parses the output.

I can do this:

c = Heroku::Client.new(* Heroku::Auth.read_credentials)
c.config_vars(my-app)

Awesome, this returns the configuration variables for my-app as a Hash.

The next problem is how to figure out the default app name - in development
environments we often want to have our tasks run against our default
development Heroku instance. The code I want to call is in
lib/heroku/command/base.rb, extract_app_in_dir(Dir.pwd). There's quite a
bit of logic underneath this, storing git remotes and what not.

   1. Do you think this should be refactored so that one can call
   extract_app_in_dir without an instance of a class?
   2. Is there a simple(r) way to get the default app name?

Thanks,
dB.

-- 

dB. | Moscow - Geneva - Seattle - New York
dblock.org http://www.dblock.org -
@dblockdotorghttp://twitter.com/#!/dblockdotorg

-- 
You received this message because you are subscribed to the Google
Groups Heroku group.

To unsubscribe from this group, send email to
heroku+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/heroku?hl=en_US?hl=en


Re: Imminent Death of the Heroku Google Group

2012-04-28 Thread Daniel Doubrovkine
Translating from French :)

On Sat, Apr 28, 2012 at 2:24 PM, Jeff Schmitz
jeffrey.j.schm...@gmail.comwrote:

 Don't you mean perfect is the enemy of good?

 Jeff

 On Apr 28, 2012, at 10:42 AM, dB. dbl...@dblock.org wrote:

 I don't know about what's ideal, but the list has been working very well.
 And better is enemy of good.

 +1 to keep things as is, leave the list alone and leave SO as is.

 On Friday, April 27, 2012 4:27:39 PM UTC-4, Neil Middleton wrote:

 Our of interest, what do people think is the ideal form of community
 support for something like Heroku?  Lots use SO, and lots hang out here.

 -Neil

 On 27 Apr 2012, at 21:19, Justin Houk jsh...@gmail.com wrote:

 That does seem the option that does the least harm to the existing
 community.  I am among those who appreciate the stream of Heroku-related
 information this group provides through my inbox, which is a service
 neither support.heroku.com nor SO provides.  I would be happy if it
 would remain available as a community group rather than being completely
 erased when Heroku withdrew active support.

 --Justin

 On Fri, Apr 27, 2012 at 3:43 PM, Sara Dornsife s...@heroku.com wrote:

 Yes, reconsidering the prior decision. One idea is to keep a Google
 Group going, same members, but have it be a community group not a branded
 Heroku group where troubleshooting can still occur.
 Sara

 On Apr 26, 2012, at 3:11 PM, Randy Regnier wrote:

  I guess I'm more confused now with the the clarification statement.
 Your first statement laid out a decent business case for closing this list.
 Reasonable people can agree or disagree with the conclusion, but it was a
 decent enough option, given the data provided. But, now it appears you
 would like to have more discussion. Are you reconsidering the prior
 decision to close the list or just going through some exercise? There isn't
 much point in trying to argue the case to keep it open, if the conclusion
 can't be changed.
 
  Randy
 
  On 4/25/2012 2:24 PM, Sara Dornsife wrote:
  Let me apologize again for the miscommunication. I screwed up. Let me
 also elaborate on my previous response.
 
  As you know (and hopefully one of the reasons you guys love us), we
 move fast. Sometimes, too fast. This went from an idea to a note in a
 newsletter very quickly without the appropriate process we should apply to
 it. I take responsibility for this.
 
  We want to involve you guys. By definition, if you're on this list,
 you are passionate supportive developers that we love and consider a core
 part of Heroku. This step was inappropriately skipped.
 
  Here's the baseline we're operating from:
  - Through support, we hear regularly from users who are frustrated
 with this group and the lack of response they received.
  - Prospects are looking for a thriving community as part of their
 evaluation of Heroku. I say prospects here meaning individual developers,
 not just enterprise level customers. This Google Group isn't that. The
 traffic is low enough that it appears to mean we don't have an active
 community.
  - Stack Overflow has to grown to actually be a better place for
 getting answers many times than this Google Group. Traffic there is WAY
 higher than this group.
  - Heroku would like to officially participate more actively in
 community work. Spreading our efforts has a cost.
 
  With that baseline, we have discussed internally focusing our users
 and community efforts on Stack Overflow. That consideration should have
 been discussed here, soliciting your feedback and suggestions.
 
  While we didn't get the sequence right, we do have the discussion
 going now. Let's treat it as that - a discussion.
 
  I see a few topics to discuss:
  - Focusing Heroku's community efforts in SO
  - Leaving this group up
  - Shutting this group down
  - Other ideas
 
  Am I missing anything?
  Sara
 
 
  On Apr 25, 2012, at 1:28 PM, Ted Husted wrote:
 
  Hmmm, if any of us here agreed with any of those (unsubstantiated)
  statements, then we wouldn't be here.
 
  -Ted.
 
 
  On Wed, Apr 25, 2012 at 2:22 PM, Sara Dornsifes...@heroku.com
  wrote:
  I'm Sara Dornsife, Dir of Dev Mktg at Heroku. Sorry for not
 introducing
  myself earlier. Also sorry for not posting here about wanting to
 close this
  list before it hit the newsletter.
 
  List traffic has been low and very often the questions/comments
 posted here
  are best resolved on support.heroku.com. At the same time,
 Stackoverflow
  usage has continued to grow and the community there is very active.
 
  For those reasons, we feel its best to consolidate to support and
  Stackoverflow.
  Sara
 
  --
  You received this message because you are subscribed to the Google
  Groups Heroku group.
 
  To unsubscribe from this group, send email to
  heroku+unsubscribe@**googlegroups.comheroku%2bunsubscr...@googlegroups.com
  For more options, visit this group at
  http://groups.google.com/**group/heroku?hl=en_US?hl=enhttp://groups.google.com/group/heroku?hl=en_US?hl=en

 --
 

When is a rake task stopped via heroku ps:stop?

2012-03-09 Thread Daniel Doubrovkine
I ran `heroku rake ...`, I can see the task in `heroku ps`. I press
Ctrl+C, that says canceled. Then I run it again. Now I see this:

rake.1   up for 13m  bundle exec rake db:users:dedup db..
rake.2   up for 12m  bundle exec rake db:users:dedup db..

I can do a heroku ps:stop 'rake.1'

This changes nothing.

Are these stopped? Are they dead? When do they go away from heroku ps?



-- 
You received this message because you are subscribed to the Google Groups 
Heroku group.
To post to this group, send email to heroku@googlegroups.com.
To unsubscribe from this group, send email to 
heroku+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/heroku?hl=en.