mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
MyAnimeList HeartBeat ™️
This commit is contained in:
parent
484610f28c
commit
a95eeaa97b
@ -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
|
||||
*/
|
@ -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()
|
||||
|
@ -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;
|
||||
|
@ -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);
|
@ -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++;
|
||||
}
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ class SourceHealthServiceProvider extends ServiceProvider
|
||||
* @var array
|
||||
*/
|
||||
protected $listen = [
|
||||
'App\Events\SourceHealthEvent' => [
|
||||
'App\Events\SourceHeartbeatEvent' => [
|
||||
'App\Listeners\SourceHealthListener',
|
||||
],
|
||||
];
|
||||
|
@ -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
|
||||
]);
|
||||
|
||||
/*
|
||||
|
Loading…
x
Reference in New Issue
Block a user