Re: CacheMigration gem to help migrating to MemCachier
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
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
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
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
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
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
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
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
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
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
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
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?
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
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?
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
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
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
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
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
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?
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?
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)
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
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
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
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
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
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
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
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?
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.