auto expiration for upload request

This commit is contained in:
Čarodej
2022-02-22 11:53:51 +01:00
parent ee67b8050d
commit 6feadfd188
3 changed files with 49 additions and 1 deletions
+5
View File
@@ -10,6 +10,7 @@ use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
use Support\Scheduler\Actions\DeleteUnverifiedUsersAction;
use Support\Scheduler\Actions\DeleteExpiredShareLinksAction;
use App\Console\Commands\GenerateDemoSubscriptionContentCommand;
use Support\Scheduler\Actions\ExpireUnfilledUploadRequestAction;
class Kernel extends ConsoleKernel
{
@@ -42,6 +43,10 @@ class Kernel extends ConsoleKernel
fn () => resolve(DeleteExpiredShareLinksAction::class)()
)->everyTenMinutes();
$schedule->call(
fn () => resolve(ExpireUnfilledUploadRequestAction::class)()
)->hourly();
$schedule->call(
fn () => resolve(DeleteUnverifiedUsersAction::class)()
)->daily()->at('00:05');
@@ -0,0 +1,25 @@
<?php
namespace Support\Scheduler\Actions;
use Carbon\Carbon;
use Domain\UploadRequest\Models\UploadRequest;
class ExpireUnfilledUploadRequestAction
{
public function __invoke()
{
UploadRequest::where('status', 'active')
->cursor()
->each(function ($uploadRequest) {
// Get dates
$created_at = Carbon::parse($uploadRequest->created_at);
// If time was over, then expire record
if ($created_at->diffInHours(now()) >= 72) {
$uploadRequest->update([
'status' => 'expired',
]);
}
});
}
}