Bellow is my script that I use to verify email address existence, using pthreads for speed. The problem is the when I put it in Laravel command I get this error:
Fatal error: Call to undefined method Illuminate\Support\Facades\Log::error() in /vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 208
This is the script:
<?php
use Illuminate\Console\Command;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Input\InputArgument;
class verifyLocal extends Command
{
protected $name = 'verify:local';
protected $description = 'verify emails from local server';
public function __construct()
{
parent::__construct();
}
public function fire()
{
$start = microtime(true);
$emails = array(
new WebRequest("email_1@gmail.com"),
new WebRequest("email_2@gmail.com")
);
$threads = array();
foreach ($emails as $k => $email) {
$req[$k] = new WebRequest($email);
$threads[$k] = new WebWorker();
$threads[$k]->start();
$threads[$k]->stack($req[$k]);
}
/* wait for completion */
foreach ($threads as $thread) {
$thread->shutdown();
}
foreach ($req as $r) {
var_dump($r);
}
$time = microtime(true) - $start;
printf("Fetched %d responses in %.3f seconds\n", count($req), $time);
}
}
class WebRequest extends Stackable {
public $email_address;
public $response_body;
public function __construct($email_address) {
$this->email_address = $email_address;
}
public function run(){
$this->response_body = $this->check($this->email_address);
}
public function check($email) {
/* verification code here */
$answer = true;
return $answer;
}
}
class WebWorker extends Worker {
public function __construct () {
}
public function run(){
}
}
?>
Any help, please. Thanks.