Cron monitoring

This commit is contained in:
2020-09-17 15:05:27 +05:00
parent 35c97a1fdd
commit 1302183abc
9 changed files with 137 additions and 11 deletions

View File

@@ -25,15 +25,32 @@ class Kernel extends ConsoleKernel
*/
protected function schedule(Schedule $schedule)
{
$schedule->command('scrape:mihaaru')->everyFiveMinutes();
$schedule->command('scrape:sun')->everyFiveMinutes();
$schedule->command('scrape:avas')->everyFiveMinutes();
$schedule->command('scrape:dhuvas')->everyFiveMinutes();
$schedule->command('scrape:thiladhun')->everyFiveMinutes();
$schedule->command('scrape:thepress')->everyFiveMinutes();
$schedule->command('scrape:addulive')->everyFiveMinutes();
$schedule->command('scrape:voice')->everyFiveMinutes();
$schedule->command('scrape:dhen')->everyFiveMinutes();
$schedule->command('scrape:mihaaru')->everyFiveMinutes()
->pingOnSuccess("/api/ping/mihaaru");
$schedule->command('scrape:sun')->everyFiveMinutes()
->pingOnSuccess("/api/ping/sun");
$schedule->command('scrape:avas')->everyFiveMinutes()
->pingOnSuccess("/api/ping/avas");
$schedule->command('scrape:dhuvas')->everyFiveMinutes()
->pingOnSuccess("/api/ping/dhuvas");
$schedule->command('scrape:thiladhun')->everyFiveMinutes()
->pingOnSuccess("/api/ping/thiladhun");
$schedule->command('scrape:thepress')->everyFiveMinutes()
->pingOnSuccess("/api/ping/thepress");
$schedule->command('scrape:addulive')->everyFiveMinutes()
->pingOnSuccess("/api/ping/addulive");
$schedule->command('scrape:voice')->everyFiveMinutes()
->pingOnSuccess("/api/ping/voice");
$schedule->command('scrape:dhen')->everyFiveMinutes()
->pingOnSuccess("/api/ping/dhen");
}
/**

View File

@@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers\API;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Task;
use Illuminate\Support\Carbon;
class MonitorAPIController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke($source)
{
Task::updateOrCreate(["name" => $source], [
"name" => $source,
"cron" => "Every 5 Mins",
"last_ping_at" => Carbon::now()
]);
return 'Success';
}
}

View File

@@ -0,0 +1,20 @@
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
class MonitorController extends Controller
{
/**
* Handle the incoming request.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function __invoke(Request $request)
{
return view('admin.monitor');
}
}

11
app/Models/Task.php Normal file
View File

@@ -0,0 +1,11 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
use HasFactory;
}