[PATCH] dbomatic iterates instances sorted by updated_at

Tomas Hrcka thrcka at redhat.com
Mon Sep 3 13:22:42 UTC 2012


On Thu, 2012-08-30 at 16:22 +0200, Jan Provaznik wrote:
> On 08/29/2012 12:26 PM, Tomáš Hrčka wrote:
> > ---
> >   src/dbomatic/dbomatic | 4 ++--
> >   1 file changed, 2 insertions(+), 2 deletions(-)
> >
> > diff --git a/src/dbomatic/dbomatic b/src/dbomatic/dbomatic
> > index 76fadf6..b20af71 100755
> > --- a/src/dbomatic/dbomatic
> > +++ b/src/dbomatic/dbomatic
> > @@ -33,7 +33,7 @@ dbomatic_pid_dir = "/var/run/aeolus-conductor"
> >   # $dbomatic_timeout is also our polling interval between cloud status checks
> >   $dbomatic_timeout = 60
> >   $realms_timeout = 300
> > -$deltacloud_timeout = 30
> > +$deltacloud_timeout = 100
> 
> this timeout might be increased, but it should never be higher than 
> dbomatic_timeout. I think changing this to let's say 50 could help 
> little bit with connection timeout issues.
> 
> >   optparse = OptionParser.new do |opts|
> >
> >     opts.banner = <<BANNER
> > @@ -189,7 +189,7 @@ end
> >   def check_one_account(account)
> >     connection = account.connect
> >
> > -  account.instances.each do |instance|
> > +  account.instances.order("updated_at ASC").each do |instance|
> >       # optimization; right now we ignore instances that are in the STOPPED, NEW, or CREATE_FAILED states.
> >       # when we get to stateful instances, this will need to change
> >       unless [Instance::STATE_NEW, Instance::STATE_STOPPED, Instance::STATE_CREATE_FAILED].include?(instance.state)
> >
> 
> This works almost fine, only disadvantage is that instances which are 
> vanished for a long time will be always prioritized as first (updated_at 
> attribute will not be increased for them since there will be no state 
> change). We might add additional attribute "checked_at" and this 
> attribute would be updated always before state check request is invoked 
> from dbomatic. What do you think?
> 
> Jan

That is good idea. I am going to add "checked_at", change order_by to
this new attribute and resend the patch.





More information about the aeolus-devel mailing list