I may misunderstand how workers get charged on heroku, but from what
I've seen at http://docs.heroku.com/background-jobs and
http://docs.heroku.com/delayed-job, workers get charged $0.05/hr each
no matter how many are running, pro-rated to the second.  The maximum
workers per account seems to be 24 (that's where the slider stops on
their Resources page).

The jobs being delayed won't be created faster than one every 30
seconds, so I assumed the first worker would spin up and grab the
first job, then when the second job gets queued, a second worker would
start, grabbing the second job, and so on.  Each job would process in
it's own worker, which would then get shut down when the job
completes.  One worker running three jobs that take a total of fifteen
minutes to process should get charged the same as three workers
running one job each for five minutes.  If I'm mistaken, let me know.

Thanks,
Jim

On Jan 20, 4:57 pm, Keenan Brock <kee...@thebrocks.net> wrote:
> Also a thought.
>
> You will need to introduce a lag when you are determining if you need more or 
> less delayed job workers.
>
> Otherwise you will spin up too many DJs too quickly. And add/remove them very 
> often. Incurring extra charges.
>
> Smugmug spoke about this when they were talking about their on demand photo 
> processors a few years back.
>
> --Keenan
>
> On Jan 20, 2011, at 6:06 PM, Pedro Belo <pe...@heroku.com> wrote:> That was a 
> good call, you definitely don't want to store variables in
> > config vars. Save if for constants (passwords, urls, etc).
>
> > It seems like you might be getting an error due to different versions
> > of RestClient, not sure though. What version are you using? What's the
> > stack trace for the exception?
>
> > On a side note, if it helps you can call heroku workers passing
> > relative values, like +3, -1, etc.
>
> > On Thu, Jan 20, 2011 at 12:00 PM, rubynoob <mysmilecent...@gmail.com> wrote:
> >> Instead of storing the count of active workers as a heroku config
> >> variable, I decided to create a table in our database to store the
> >> value in.
> >> So now I've got the problem narrowed down to the last line in the
> >> method.  Here's the block of code I've now got:
>
> >> add_heroku_worker
> >>                heroku = Heroku::Client.new(ENV['HEROKU_USERNAME'],
> >> ENV['HEROKU_PASSWORD'])
> >>                myapp = heroku.config_vars(ENV['HEROKU_APP'])["HEROKU_APP"]
> >>                worker_count = WorkerCount.find(1)  # now I'm storing the 
> >> current
> >> number of active workers in a table that will always only have one
> >> record.
> >>                workers = worker_count.workers
> >>                qty = workers + 1
> >>                worker_count.workers = qty
> >>                worker_count.save
> >>                heroku.set_workers(myapp, qty)
> >> end
>
> >> In the heroku console, this runs smoothly until I try the last line,
> >> to which I get this error:  TypeError: can't convert
> >> RestClient::Payload::UrlEncoded into String
>
> >> This line is formatted the same as LostBoy's workless gem, the
> >> autoscaling tree of delayed_job, and Heroku-Delayed-Job-Autoscale.  I
> >> must be missing something obvious (typical newbie, huh?)   ;)
>
> >> Thanks again for any help,
> >> Jim
>
> >> On Jan 20, 9:16 am, Peter Haza <peter.h...@gmail.com> wrote:
> >>> I've done autoscaling of workers
> >>> here:https://github.com/phaza/Heroku-Delayed-Job-Autoscale
> >>> It's actually more like auto-shutdown of a single workers, but it works 
> >>> well
> >>> in our environment.
>
> >> --
> >> 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 
> >> athttp://groups.google.com/group/heroku?hl=en.
>
> > --
> > 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 
> > athttp://groups.google.com/group/heroku?hl=en.

-- 
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.

Reply via email to