add basic scheduler and queue processing for tasks

This commit is contained in:
Dane Everitt 2016-02-27 18:35:12 -05:00
parent b6719129e1
commit 1296d08dcb
11 changed files with 441 additions and 4 deletions

View file

@ -0,0 +1,42 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTasksTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('tasks', function (Blueprint $table) {
$table->increments('id');
$table->integer('server')->unsigned();
$table->string('action');
$table->text('data');
$table->tinyInteger('queued')->unsigned()->default(0);
$table->integer('month')->default(0);
$table->integer('week')->default(0);
$table->integer('day')->default(0);
$table->integer('hour')->default(0);
$table->integer('minute')->default(0);
$table->integer('second')->default(0);
$table->timestamp('last_run');
$table->timestamp('next_run');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('tasks');
}
}

View file

@ -0,0 +1,34 @@
<?php
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class AddTasksLogTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('tasks_log', function (Blueprint $table) {
$table->increments('id');
$table->integer('task_id')->unsigned();
$table->timestamp('run_time');
$table->integer('run_status')->unsigned();
$table->text('response');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::drop('tasks_log');
}
}