CREATE OR REPLACE FUNCTION {SCHEMA_NAME}._wakeup_runners() RETURNS TRIGGER AS $$
BEGIN NOTIFY {CHANNEL}; RETURN NEW; END;
$$ LANGUAGE plpgsql;
BEGIN;
DROP TRIGGER IF EXISTS _wakeup_runners ON {SCHEMA_NAME}.postjobs; CREATE TRIGGER _wakeup_runners AFTER INSERT OR UPDATE ON {SCHEMA_NAME}.postjobs FOR EACH STATEMENT EXECUTE PROCEDURE {SCHEMA_NAME}._wakeup_runners();
COMMIT;
DROP FUNCTION IF EXISTS {SCHEMA_NAME}._wakeup_parent_job(job_id BIGINT); – removed in 0.5.0 CREATE OR REPLACE FUNCTION {SCHEMA_NAME}._wakeup_parent_job(worker_session_id UUID, job_id BIGINT) RETURNS VOID AS $$ BEGIN
UPDATE {SCHEMA_NAME}.postjobs SET last_worker_session_id=worker_session_id, status='ready', next_run_at=(now() at time zone 'utc'), updated_at=(now() at time zone 'utc') WHERE status='sleep' AND id=(SELECT parent_id FROM {SCHEMA_NAME}.postjobs WHERE id=job_id);
END; $$ LANGUAGE plpgsql;