<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -12,7 +12,9 @@ loop do
         user = video.user
       
         # Launch an instance if there isn't one
-        unless user.current_instance
+        # see if there are any running instances
+        instances = user.ec2.describe_instances
+        unless instances.collect {|s| s[:aws_state]}.any? {|s| s == 'running'}
           instance = user.ec2.run_instances('ami-d4ec0fbd',1,1,['default'], '').first 
         
           Merb.logger.debug &quot;Spawned Instance #{instance[:aws_instance_id]}&quot;
@@ -88,7 +90,7 @@ loop do
         minutes = (Time.now - start) / 60
         Merb.logger.debug(&quot;Instance running for #{minutes}&quot;)
         if minutes &gt; 55
-          user.ec2.terminate_instances([user.current_instance])
+          user.ec2.terminate_instances(user.ec2.describe_instances.collect {|s| s[:aws_instance_id]})
           user.update_attributes({:current_instance =&gt; nil, :instance_state =&gt; nil, :instance_deployed =&gt; false})
           user.save!
         end</diff>
      <filename>bin/spawner.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>98e2415cbfa6b9b8f20f93d8f57b66657be50760</id>
    </parent>
  </parents>
  <author>
    <name>Josh Starcher</name>
    <email>josh@josh-starchers-mac-pro.local</email>
  </author>
  <url>http://github.com/twinge/panda/commit/2a350bb2df147336c442df0a296c29f9daab569d</url>
  <id>2a350bb2df147336c442df0a296c29f9daab569d</id>
  <committed-date>2009-11-05T12:04:25-08:00</committed-date>
  <authored-date>2009-11-05T12:04:25-08:00</authored-date>
  <message>be more care about spawning, and more agressive about terminating instances</message>
  <tree>d1073baee09a31087ca2e4d4ace68bc05bb91d0e</tree>
  <committer>
    <name>Josh Starcher</name>
    <email>josh@josh-starchers-mac-pro.local</email>
  </committer>
</commit>
