Skip to content

Commit c1301c7

Browse files
committed
Fix tasks to use proper cron syntax
1 parent 51f4ea7 commit c1301c7

File tree

5 files changed

+20
-39
lines changed

5 files changed

+20
-39
lines changed

app/Jobs/SendScheduledTask.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030

3131
use DB;
3232
use Carbon;
33+
use Cron;
3334
use Pterodactyl\Models;
3435
use Pterodactyl\Repositories\Daemon\CommandRepository;
3536
use Pterodactyl\Repositories\Daemon\PowerRepository;
@@ -94,9 +95,17 @@ public function handle()
9495
]);
9596
throw $ex;
9697
} finally {
98+
$cron = Cron::factory(sprintf('%s %s %s %s %s %s',
99+
$this->task->minute,
100+
$this->task->hour,
101+
$this->task->day_of_month,
102+
$this->task->month,
103+
$this->task->day_of_week,
104+
$this->task->year
105+
));
97106
$this->task->fill([
98107
'last_run' => $time,
99-
'next_run' => $time->addMonths($this->task->month)->addWeeks($this->task->week)->addDays($this->task->day)->addHours($this->task->hour)->addMinutes($this->task->minute)->addSeconds($this->task->second),
108+
'next_run' => $cron->getNextRunDate(),
100109
'queued' => 0
101110
]);
102111
$this->task->save();

composer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,8 @@
2828
"s1lentium/iptools": "^1.0",
2929
"edvinaskrucas/settings": "^2.0",
3030
"igaster/laravel-theme": "^1.1",
31-
"nesbot/carbon": "^1.21"
31+
"nesbot/carbon": "^1.21",
32+
"mtdowling/cron-expression": "^1.1"
3233
},
3334
"require-dev": {
3435
"fzaninotto/faker": "~1.4",

config/app.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,7 @@
183183
'Carbon' => Carbon\Carbon::class,
184184
'Config' => Illuminate\Support\Facades\Config::class,
185185
'Cookie' => Illuminate\Support\Facades\Cookie::class,
186+
'Cron' => Cron\CronExpression::class,
186187
'Crypt' => Illuminate\Support\Facades\Crypt::class,
187188
'DB' => Illuminate\Support\Facades\DB::class,
188189
'Debugbar' => Barryvdh\Debugbar\Facade::class,

database/migrations/2016_02_27_163411_add_tasks_table.php

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@ public function up()
1515
Schema::create('tasks', function (Blueprint $table) {
1616
$table->increments('id');
1717
$table->integer('server')->unsigned();
18+
$table->tinyInteger('active')->default(1);
1819
$table->string('action');
1920
$table->text('data');
2021
$table->tinyInteger('queued')->unsigned()->default(0);
21-
$table->integer('month')->default(0);
22-
$table->integer('week')->default(0);
23-
$table->integer('day')->default(0);
24-
$table->integer('hour')->default(0);
25-
$table->integer('minute')->default(0);
26-
$table->integer('second')->default(0);
22+
$table->string('year')->default('*');
23+
$table->string('day_of_week')->default('*');
24+
$table->string('month')->default('*');
25+
$table->string('day_of_month')->default('*');
26+
$table->string('hour')->default('*');
27+
$table->string('minute')->default('*');
2728
$table->timestamp('last_run');
2829
$table->timestamp('next_run');
2930
$table->timestamps();

database/migrations/2016_02_27_190725_add_active_task_option.php

Lines changed: 0 additions & 31 deletions
This file was deleted.

0 commit comments

Comments
 (0)