Laravel 3 kullanarak bir web kazıyıcı yapıyorum ve bir sıra sistemi var resque
.İş Kuyruk sistemi ile PHP/Laravel'de mantık kodu
Soru: Kazıma mantığı kodunu nereye yerleştirmeliyim?
İşçi/iş sınıfında?
İşçi/iş sınıfı tarafından statik olarak adlandırılan bir kitaplık sınıfında?
Bir denetleyici işlevinde ve işçi/iş sınıfının denetleyici işlevini tetiklemesini mi istiyorsunuz?
Şu anda bu yüzden onun url giderek test edebilirsiniz denetleyici fonksiyonu içinde var. Bu ayrıca, Cron kullanarak yinelenen işlere de izin verir, çünkü resque
yinelenen işlere izin vermez. Kazıma fonksiyonlarını test etmenin bu kolay yolunu hala korumam gerekecek.
Deneme: İşte düşündüğüm, bu tür amaçlarla kodunuzu nasıl düzenlersiniz?
İşçi Sınıfı
class ScraperWorker
{
public function perform()
{
$url = $this->args['url']
Scraper::do_scrape($url);
}
}
Kazıma Sınıf
class Scraper
{
public static function do_scrape($url) {
//some scraping code
}
}
Kontrolör hızlı test için Sınıf
ve Cron işleri vurmak için
class Scraper_Controller extends Base_Controller {
public function test_scrape($url) {
Scraper::do_scrape($url);
}
}