dakata__92
Super Moderator
Колеги имам няколко синхронни сървъра. Съответно имам на всичките стартиран крон
Файловете се синхроницират на всички машини, съответно всяка машина изпълнява експорт командата. Идеята ми е да огранича командата за част от сървърите - не за всичките. Как да го направя?
$server->isSetIP($ip) - взима от масив наличните машини и проверява дали има такова IPв масива.
$_SERVER['SERVER_ADDR'] - трещи грешка, че не е сетнат.
Пробвах с request()->server('SERVER_ADDR') - но нещо не сработва като хората.
Как мога в artisan scheduele list да извадя само за този сървър на който се намирам кроновете? Идеята ми е ако в schedule съм подал командата да се изпълнява само когато ip-то на сървъра е равно на него (тоест съм на съответния за ип сървър). Проблема е че тази логика не сработва.
Код:
* * * * * php73 /laravel/artisan schedule:run > /dev/null 2>&1
Код:
protected function schedule(Schedule $schedule)
{
$server = new Server;
$ip = '1.0.0.10';
if ($server->isSetIP($ip) && $_SERVER['SERVER_ADDR'] == $ip) {
$schedule->command('export')->everyMinute()->withoutOverlapping()->runInBackground();
}
}
$server->isSetIP($ip) - взима от масив наличните машини и проверява дали има такова IPв масива.
$_SERVER['SERVER_ADDR'] - трещи грешка, че не е сетнат.
Пробвах с request()->server('SERVER_ADDR') - но нещо не сработва като хората.
Как мога в artisan scheduele list да извадя само за този сървър на който се намирам кроновете? Идеята ми е ако в schedule съм подал командата да се изпълнява само когато ip-то на сървъра е равно на него (тоест съм на съответния за ип сървър). Проблема е че тази логика не сработва.