MyAnimeList HeartBeat ™️

This commit is contained in:
Irfan 2020-09-13 12:52:15 +05:00
parent 484610f28c
commit a95eeaa97b
7 changed files with 15 additions and 15 deletions

View File

@ -7,10 +7,10 @@ use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Storage;
/**
* Class SourceHealthEvent
* Class SourceHeartbeatEvent
* @package App\Events
*/
class SourceHealthEvent extends Event
class SourceHeartbeatEvent extends Event
{
public const BAD_HEALTH = 1;
public const GOOD_HEALTH = 0;
@ -19,7 +19,7 @@ class SourceHealthEvent extends Event
public $status;
/**
* SourceHealthEvent constructor.
* SourceHeartbeatEvent constructor.
* @param int $health
* @param int $status
*/

View File

@ -2,7 +2,7 @@
namespace App\Exceptions;
use App\Events\SourceHealthEvent;
use App\Events\SourceHeartbeatEvent;
use App\Http\HttpHelper;
use Exception;
use GuzzleHttp\Exception\ClientException;
@ -131,7 +131,7 @@ class Handler extends ExceptionHandler
case 504:
// Dispatch Bad source health event to prompt database fallback if enabled
if (env('SOURCE_BAD_HEALTH_FALLBACK') && env('DB_CACHING')) {
event(new SourceHealthEvent(SourceHealthEvent::BAD_HEALTH, $e->getCode()));
event(new SourceHeartbeatEvent(SourceHeartbeatEvent::BAD_HEALTH, $e->getCode()));
}
return response()

View File

@ -3,7 +3,7 @@
namespace App\Http\Middleware;
use App\DatabaseHandler;
use App\Events\SourceHealthEvent;
use App\Events\SourceHeartbeatEvent;
use App\Http\HttpHelper;
use App\Jobs\UpdateCacheJob;
use App\Jobs\UpdateDatabaseJob;

View File

@ -3,9 +3,9 @@
namespace App\Http\Middleware;
use Closure;
use App\Events\SourceHealthEvent;
use App\Events\SourceHeartbeatEvent;
class SourceHealthMonitor
class SourceHeartbeatMonitor
{
/**
* Handle an incoming request.
@ -17,7 +17,7 @@ class SourceHealthMonitor
public function handle($request, Closure $next)
{
if (env('SOURCE_BAD_HEALTH_FAILOVER') && env('DB_CACHING')) {
event(new SourceHealthEvent(SourceHealthEvent::GOOD_HEALTH, 200));
event(new SourceHeartbeatEvent(SourceHeartbeatEvent::GOOD_HEALTH, 200));
}
return $next($request);

View File

@ -3,7 +3,7 @@
namespace App\Listeners;
use App\Events\ExampleEvent;
use App\Events\SourceHealthEvent;
use App\Events\SourceHeartbeatEvent;
use App\Providers\SourceHealthServiceProvider;
use Illuminate\Queue\InteractsWithQueue;
use Illuminate\Contracts\Queue\ShouldQueue;
@ -45,7 +45,7 @@ class SourceHealthListener
* @param ExampleEvent $event
* @return void
*/
public function handle(SourceHealthEvent $event)
public function handle(SourceHeartbeatEvent $event)
{
$eventCount = $this->insertFail($event);
$this->logger->debug('Event count: '.$eventCount);
@ -55,7 +55,7 @@ class SourceHealthListener
}
}
private function insertFail(SourceHealthEvent $event) : int
private function insertFail(SourceHeartbeatEvent $event) : int
{
$fails = $this->getRecentFails();
$fails[] = [time(), $event->status, $event->health];
@ -137,7 +137,7 @@ class SourceHealthListener
$totalFails = count($fails) - 1;
foreach ($fails as $fail) {
if ((int) $fail[2] === SourceHealthEvent::GOOD_HEALTH) {
if ((int) $fail[2] === SourceHeartbeatEvent::GOOD_HEALTH) {
$score++;
}
}

View File

@ -16,7 +16,7 @@ class SourceHealthServiceProvider extends ServiceProvider
* @var array
*/
protected $listen = [
'App\Events\SourceHealthEvent' => [
'App\Events\SourceHeartbeatEvent' => [
'App\Listeners\SourceHealthListener',
],
];

View File

@ -82,7 +82,7 @@ $app->routeMiddleware([
// 'microcaching' => \App\Http\Middleware\MicroCaching::class,
// 'database-resolver' => \App\Http\Middleware\DatabaseResolver::class,
'source-data-manager' => \App\Http\Middleware\SourceDataManager::class,
// 'source-health-monitor' => \App\Http\Middleware\SourceHealthMonitor::class
// 'source-health-monitor' => \App\Http\Middleware\SourceHeartbeatMonitor::class
]);
/*