mirror of
https://github.com/pmmp/PocketMine-MP.git
synced 2025-04-21 08:17:34 +00:00
ServerScheduler: Require a Logger instance as ctor param, now non-dependent on Server
yay for unit-testing and reusability!!!
This commit is contained in:
parent
d03f36ebee
commit
132746aa3d
@ -1525,7 +1525,7 @@ class Server{
|
||||
|
||||
$this->logger->info($this->getLanguage()->translateString("pocketmine.server.start", [TextFormat::AQUA . $this->getVersion() . TextFormat::RESET]));
|
||||
|
||||
$this->scheduler = new ServerScheduler();
|
||||
$this->scheduler = new ServerScheduler($this->logger);
|
||||
|
||||
if(($poolSize = $this->getProperty("settings.async-workers", "auto")) === "auto"){
|
||||
$poolSize = 2;
|
||||
|
@ -29,10 +29,12 @@ namespace pocketmine\scheduler;
|
||||
|
||||
use pocketmine\plugin\Plugin;
|
||||
use pocketmine\plugin\PluginException;
|
||||
use pocketmine\Server;
|
||||
use pocketmine\utils\ReversePriorityQueue;
|
||||
|
||||
class ServerScheduler{
|
||||
/** @var \Logger */
|
||||
private $logger;
|
||||
|
||||
/**
|
||||
* @var ReversePriorityQueue<Task>
|
||||
*/
|
||||
@ -49,7 +51,8 @@ class ServerScheduler{
|
||||
/** @var int */
|
||||
protected $currentTick = 0;
|
||||
|
||||
public function __construct(){
|
||||
public function __construct(\Logger $logger){
|
||||
$this->logger = $logger;
|
||||
$this->queue = new ReversePriorityQueue();
|
||||
}
|
||||
|
||||
@ -197,8 +200,8 @@ class ServerScheduler{
|
||||
try{
|
||||
$task->run($this->currentTick);
|
||||
}catch(\Throwable $e){
|
||||
Server::getInstance()->getLogger()->critical("Could not execute task " . $task->getTaskName() . ": " . $e->getMessage());
|
||||
Server::getInstance()->getLogger()->logException($e);
|
||||
$this->logger->critical("Could not execute task " . $task->getTaskName() . ": " . $e->getMessage());
|
||||
$this->logger->logException($e);
|
||||
}
|
||||
$task->timings->stopTiming();
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user