dffee33b9c
* add uniq method for AsyncRunnable trait (#70) * add uniq method for asyncrunnable * add hash enum * remove string * return bool values * Task struct modified (#71) * Task struct modified * asynk module try to adapt new scheme * delete period in millis * delete period in millis completed * Cron support :D * Cron and single Schedule support :D * Current timestamp value * fix bug and new test that confirms that it was a bug * fix a call * Update Cargo.toml Co-authored-by: Ayrat Badykov <ayratin555@gmail.com> * comments suggestions * fix clippy * Better user api for schedule with cron * Cron tested with example * Comments adressed * Comments adressed Co-authored-by: Ayrat Badykov <ayratin555@gmail.com> Co-authored-by: Ayrat Badykov <ayratin555@gmail.com>
20 lines
839 B
SQL
20 lines
839 B
SQL
CREATE EXTENSION IF NOT EXISTS "uuid-ossp";
|
|
|
|
CREATE TYPE fang_task_state AS ENUM ('new', 'in_progress', 'failed', 'finished');
|
|
|
|
CREATE TABLE fang_tasks (
|
|
id uuid PRIMARY KEY DEFAULT uuid_generate_v4(),
|
|
metadata jsonb NOT NULL,
|
|
error_message TEXT,
|
|
state fang_task_state DEFAULT 'new' NOT NULL,
|
|
task_type VARCHAR DEFAULT 'common' NOT NULL,
|
|
uniq_hash CHAR(64),
|
|
scheduled_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
|
created_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW(),
|
|
updated_at TIMESTAMP WITH TIME ZONE NOT NULL DEFAULT NOW()
|
|
);
|
|
|
|
CREATE INDEX fang_tasks_state_index ON fang_tasks(state);
|
|
CREATE INDEX fang_tasks_type_index ON fang_tasks(task_type);
|
|
CREATE INDEX fang_tasks_scheduled_at_index ON fang_tasks(scheduled_at);
|
|
CREATE INDEX fang_tasks_uniq_hash ON fang_tasks(uniq_hash);
|