

Django on Heroku running with Celery - jimmydo
https://gist.github.com/1004844

======
scorpion032
Heroku, AppHosted, DotCloud, ep.io, Gondor.io, DjangoZoom, Google App Engine.

Looks like the market for "push-hosting" django (suddenly?) increased much
more than that existed for ruby frameworks.

AFAI am concerned, WebFaction, Linode, Slicehost, EC2 more than addressed what
I wanted for a while.

Not that I don't like these or that they don't make my life simpler- They very
much do. But is there room for so many? Do I just forget the Apache
VirtualHost config details, as I may never need that again?

~~~
mathrawka
All the ones that support Django out of the box, are all in private beta I
believe. So the market is starting to warm up to Django, but still not open
for sale. Hopefully they all get through private beta and release, because
competition is good for the market.

~~~
scorpion032
Except one or two, all of them are available for general public.

------
rglover
I feel like the title of this post would make someone over the age of fifty's
head explode.

~~~
sixtofour
Head check: intact.

Thanks for your concern. :)

~~~
awj
You may win the award for "best comment I've seen all day", and today has just
started.

------
mikek
I thought Heroku only suppoted Ruby and node.js. Can someone explain what is
going on here? Does it run arbitary executables, but it handles Ruby in some
more powerful way?

~~~
stephth
Heroku introduced a new stack that can "Run Anything":

<http://www.heroku.com/#run_anything>

<http://devcenter.heroku.com/articles/cedar>

<http://news.ycombinator.com/item?id=2602728>

------
fictorial
Only http traffic is routed to your web processes so a different protocol (I
don't know, IRC) won't be routable to one of your deployed processes, correct?

Also, how much RAM can a process use? What happens if I run Redis and fill it
up with "a lot" of data?

~~~
stephth
_how much RAM can a process use? What happens if I run Redis and fill it up
with "a lot" of data?_

From [http://devcenter.heroku.com/articles/how-much-memory-
does-a-...](http://devcenter.heroku.com/articles/how-much-memory-does-a-dyno-
have) : _Each dyno has 300MB of memory. If your process uses more than 300MB,
the system will automatically kill your dyno and insert an entry into your
logs._

------
whackedspinach
Are there any drawbacks to this? I've been looking for a "Heroku for Django"
for a few months and I just started using Google App Engine to get some of
what I want. I'll go ahead and try this if it works well.

~~~
stephth
The [good / bad] news for you is: you [won't have to / can't] use the
AppEngine High Replication Datastore.

It's also worth mentioning that unlike AppEngine the Heroku stack is a unix
based environment (call "heroku run bash" and boom, you have shell access) and
its components are all open sourced, so it should be relatively easy to move
from there to a VPS if you ever need to.

Other than that, Heroku comes from multiple years of supporting Ruby (and some
Node.js), their main page still states "Agile deployment for Ruby and
Node.js", there's a lot of Rails/Sinatra/Rack specific stuff in their docs,
and the Heroku command line tool is a Ruby Gem. In other words, this is not an
"Heroku for Django", like Djangy was, it's become more like an "Heroku for
anything, with a strong culture of Ruby", and IMO that's extremely exciting:
we're talking about access to multiple languages and tools on the same easy-
to-use cloud.

~~~
shykes
If you like the idea of "Heroku for anything", I encourage you to try the
original: dotCloud has been running a similar platform for almost a year now.

We're flattered to see everyone shift gear and try our approach. But we like
being one generation ahead - and we have a few announcements up our sleeve,
too.

~~~
stephth
Dotcloud looks very interesting, but to me it's hard to consider next to
strong competitors that have established their pricing... That said I'm very
looking forward to see the dotcloud pricing announced.

~~~
shykes
Hi Steph, I just dropped you an email with good news :)

------
dagw
Has anybody tried running numpy? If it's got numpy then I think I have found
my new hosting solution for my upcoming project at work.

------
sirn
Slight OT: Is it just me or non-Ruby/NodeJS no longer works on Cedar stack?

    
    
               Cleaning up...
        -----> Discovering process types
         !     Heroku push rejected due to an unrecognized error.
         !     We've been notified, see http://support.heroku.com if the problem persists

~~~
sirn
More info: I'm running exactly what's on this Gist.

------
d0m
INSTALLED_APPS = INSTALLED_APPS + (...) can be rewritten as:

INSTALLED_APPS += (...)

No?

~~~
mixmastamyk
Yep. It could be argued that the first is more readable though.

~~~
d0m
Personally, I find:

    
    
      x += 2 
    

Easier to read then:

    
    
      x = x + 2
    

For many reasons.. but mainly:

    
    
      1) The first statement basically says: Add 2 to x, while the second says: Take x, add 2 and add that to x.. Which is one more step. 
    
      2) When a variable is repeated multiple time, I always read the line multiple time to make sure there is no error. For instance, in english "On the screen, there there is a xyz". I'll stop and read that sentence a couple of time to try to understand it.. and then realize it's an error. Likewise, when I see x = x + 2, I think "Is it a mistake?" I.e. did the author wanted to write: y = x + 2.. if not, why does he repeat himself? 
    

However, I'm interested in knowing in what you find it more readable :) ?

~~~
mixmastamyk
Looking a bit closer:

1) "Take x, add 2 and add that to x" the second add should be "set x to that".
"Which is one more step." It is the same amount of steps, just a difference in
how it is represented to the end user.

2) Hmm, never thought about that type of connection before. In my experience I
had many years of "x = x + 1" in both Algebra class and when first exposed to
Basic programing. I didn't encounter C (first exposure to extended operators)
for at least another decade.

Whenever I see such an assignment statement I visualize this in my head...

    
    
      x = x + 1
      x = 5 + 1
      x = --> 6 <--  (woosh)
      x <---6  (woosh)
     (6)  (thud)

