Bu bir orada sizin herhangi Doktrini kullanıcıları için olduğunu. Ben işleme olmamıştır girişlerini bulmak için her n saniye bir tablosunu denetler bir PHP CLI cini süreç var. Bu temelde bir FIFO bulunuyor. Her neyse, ben hep öğreti kaynaklarını boşaltmak değil becuase PHP için ayrılan belleğini aşabilir. Bu sorunla mücadele etmek için bu sorgu nesnesi için ücretsiz sağlamaktadır. Ben olsa iş yapmak için görünmüyor olabilir. İşte kod:
22 print "You are using " . (memory_get_usage() / 1024). "\n";
23 $query = Doctrine_Query::create()
24 ->from('SubmissionQueue s')
25 ->where('s.time_acted_on IS NULL')
26 ->orderby('s.time_queued')
27 ->limit(1)
28 ->execute();
29 print $query[0]->time_queued . "\n";
30 $query->free();
Ben ne yapıyorum yanlış Herhangi bir fikir?
EDIT: Ben 1.0.3 kullanıyorum
EDIT: Ben aşağıda önerilerin hepsini denedim. Ben çok unset()
buldum önce orada vardı gibi umutlu free()
idi.
Burada muhtemelen herhangi bir yardım yardımcı olmak için daha fazla kod olduğunu. Eğer bağlantı açılış ve kapanış soru önce çocukları çoğaltılır ve gelen ben bağlantı benzersiz olmak zorundadır yaşamış cini süreç olacaktır.
1 <?php
2
3 require_once('/usr/local/lib/php/Doctrine/lib/Doctrine.php');
4
5 spl_autoload_register(array('Doctrine', 'autoload'));
6
7 $manager = Doctrine_Manager::getInstance();
8 $manager->setAttribute('model_loading','conservative');
9 Doctrine::loadModels('lib/model/master');
10
11 while(1){
12 print "You are using " . intval(memory_get_usage() / 1024) . "\n";
13 $manager->connection('********************************************','master');
14 $query = Doctrine_Query::create()
15 ->from('SubmissionQueue s')
16 ->where('s.time_acted_on IS NULL')
17 ->orderby('s.time_queued')
18 ->limit(1)
19 ->execute();
20 print "[" . $query[0]->time_queued . "]\n";
21 $query->free();
22 unset($query);
23 $query = null;
24 $manager->closeConnection(Doctrine_Manager::getInstance()->getConnection('master'));
25 sleep(5);
26 }
27
Bazı örnek çıktı:
You are using 14949KB
[2008-11-17 13:59:00]
You are using 14978KB
[2008-11-17 13:59:00]
You are using 15007KB
[2008-11-17 13:59:00]
You are using 15035KB
[2008-11-17 13:59:00]
You are using 15064KB
[2008-11-17 13:59:00]
You are using 15093KB
[2008-11-17 13:59:00]
You are using 15121KB
[2008-11-17 13:59:00]
You are using 15150KB
[2008-11-17 13:59:00]
You are using 15179KB
[2008-11-17 13:59:00]
You are using 15207KB
[2008-11-17 13:59:00]
You are using 15236KB
[2008-11-17 13:59:00]
You are using 15265KB
[2008-11-17 13:59:00]
You are using 15293KB
[2008-11-17 13:59:00]
You are using 15322KB