From 09b895dfcb7018e3f37ad54f805afa7bdd4315a6 Mon Sep 17 00:00:00 2001 From: Nikola Cirkovic Date: Thu, 19 May 2022 00:32:40 +0200 Subject: [PATCH] INA-3 | Scheduler and ScheduledJob models & migrations --- app/Models/ScheduledJob.php | 49 +++++++++++++++++++ app/Models/Scheduler.php | 45 +++++++++++++++++ ..._18_162152_create_scheduled_jobs_table.php | 44 +++++++++++++++++ ...2_05_18_162443_create_schedulers_table.php | 45 +++++++++++++++++ 4 files changed, 183 insertions(+) create mode 100644 app/Models/ScheduledJob.php create mode 100644 app/Models/Scheduler.php create mode 100644 database/migrations/2022_05_18_162152_create_scheduled_jobs_table.php create mode 100644 database/migrations/2022_05_18_162443_create_schedulers_table.php diff --git a/app/Models/ScheduledJob.php b/app/Models/ScheduledJob.php new file mode 100644 index 000000000000..1ea55164386f --- /dev/null +++ b/app/Models/ScheduledJob.php @@ -0,0 +1,49 @@ + 'array', + 'scheduled_run' => 'date', + 'parameters' => 'array' + ]; +} diff --git a/app/Models/Scheduler.php b/app/Models/Scheduler.php new file mode 100644 index 000000000000..2954a1e47ecd --- /dev/null +++ b/app/Models/Scheduler.php @@ -0,0 +1,45 @@ +hasOne(ScheduledJob::class, 'scheduler_id', 'id'); + } +} diff --git a/database/migrations/2022_05_18_162152_create_scheduled_jobs_table.php b/database/migrations/2022_05_18_162152_create_scheduled_jobs_table.php new file mode 100644 index 000000000000..7b5b93465a69 --- /dev/null +++ b/database/migrations/2022_05_18_162152_create_scheduled_jobs_table.php @@ -0,0 +1,44 @@ +id(); + $table->string('action_name'); + $table->string('action_class'); + $table->json('parameters')->nullable(); + $table->foreignIdFor(\App\Models\Scheduler::class); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('scheduled_jobs'); + } +} diff --git a/database/migrations/2022_05_18_162443_create_schedulers_table.php b/database/migrations/2022_05_18_162443_create_schedulers_table.php new file mode 100644 index 000000000000..fbe3ebe6bba1 --- /dev/null +++ b/database/migrations/2022_05_18_162443_create_schedulers_table.php @@ -0,0 +1,45 @@ +id(); + $table->boolean('paused')->default(false); + $table->boolean('archived')->default(false); + $table->string('repeat_every'); + $table->timestamp('start_from'); + $table->timestamp('scheduled_run'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('schedulers'); + } +}