nostr events schedule

This commit is contained in:
HolgerHatGarKeineNode
2023-02-24 11:40:02 +01:00
parent 235ce774f9
commit c99ebca063
2 changed files with 31 additions and 0 deletions

View File

@@ -26,6 +26,7 @@ class PublishUnpublishedItems extends Command
*/ */
public function handle(): void public function handle(): void
{ {
config(['app.user-timezone' => 'Europe/Berlin']);
$modelName = $this->option('model'); $modelName = $this->option('model');
$className = '\\App\Models\\'.$modelName; $className = '\\App\Models\\'.$modelName;
$model = $className::query() $model = $className::query()
@@ -33,6 +34,7 @@ class PublishUnpublishedItems extends Command
->when($modelName === 'BitcoinEvent', fn($q) => $q->where('from', '>', now())) ->when($modelName === 'BitcoinEvent', fn($q) => $q->where('from', '>', now()))
->when($modelName === 'CourseEvent', fn($q) => $q->where('from', '>', now())) ->when($modelName === 'CourseEvent', fn($q) => $q->where('from', '>', now()))
->when($modelName === 'MeetupEvent', fn($q) => $q->where('start', '>', now())) ->when($modelName === 'MeetupEvent', fn($q) => $q->where('start', '>', now()))
->when($modelName === 'LibraryItem', fn($q) => $q->where('type', '<>', 'markdown_article'))
->first(); ->first();
$this->publishOnNostr($model, $this->getText($model)); $this->publishOnNostr($model, $this->getText($model));
} }

View File

@@ -4,6 +4,7 @@ namespace App\Console;
use App\Console\Commands\Database\CleanupLoginKeys; use App\Console\Commands\Database\CleanupLoginKeys;
use App\Console\Commands\Feed\ReadAndSyncPodcastFeeds; use App\Console\Commands\Feed\ReadAndSyncPodcastFeeds;
use App\Console\Commands\Nostr\PublishUnpublishedItems;
use App\Console\Commands\OpenBooks\SyncOpenBooks; use App\Console\Commands\OpenBooks\SyncOpenBooks;
use Illuminate\Console\Scheduling\Schedule; use Illuminate\Console\Scheduling\Schedule;
use Illuminate\Foundation\Console\Kernel as ConsoleKernel; use Illuminate\Foundation\Console\Kernel as ConsoleKernel;
@@ -29,6 +30,34 @@ class Kernel extends ConsoleKernel
->dailyAt('04:30'); ->dailyAt('04:30');
$schedule->command(CleanupLoginKeys::class) $schedule->command(CleanupLoginKeys::class)
->everyFifteenMinutes(); ->everyFifteenMinutes();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'LibraryItem',
])
->everySixHours();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'BitcoinEvent',
])
->hourly();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'CourseEvent',
])
->everyTwoHours();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'MeetupEvent',
])
->everyThreeHours();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'Meetup',
])
->everyFourHours();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'Course',
])
->everySixHours();
$schedule->command(PublishUnpublishedItems::class, [
'--model' => 'OrangePill',
])
->everyFourHours();
} }
/** /**