actn-jobs 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/db/1_jobs.sql +4 -42
- data/lib/actn/jobs/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 9c379b9506d832943725349139016ce85a0237c3
|
|
4
|
+
data.tar.gz: b9f7924284498d8df56e61787fca1b57f79e6e08
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 4d662945aceae123085f1d38a9d811d7b354e77740d22270cf237697cc31dcc901562b300b9c53a9933844d77b6c56de2d4e87e35052831f7800a516eb2345da
|
|
7
|
+
data.tar.gz: 27ff8ca7f2827c55f8b38f6f2bd57fd7321ae16ca1d052cef2028c9c87c9fc6c7da8cc9396acfb3325812785fa251f4a62f0752a0a1cb475d4c37608c1183c94
|
data/db/1_jobs.sql
CHANGED
|
@@ -6,32 +6,10 @@ SELECT __create_table('core','jobs');
|
|
|
6
6
|
|
|
7
7
|
CREATE or REPLACE FUNCTION hook_trigger() RETURNS trigger AS
|
|
8
8
|
$$
|
|
9
|
-
|
|
10
|
-
model = JSON.parse(plv8.find_function("__find_model")(TG_TABLE_NAME.classify()))
|
|
9
|
+
actn.funcs.hook_trigger(TG_TABLE_NAME, TG_OP, NEW, OLD);
|
|
11
10
|
|
|
12
|
-
callback = {
|
|
13
|
-
INSERT: "after_create"
|
|
14
|
-
UPDATE: "after_update"
|
|
15
|
-
DELETE: "after_destroy"
|
|
16
|
-
}[TG_OP]
|
|
17
11
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
for hook in model?.hooks?[callback] or []
|
|
21
|
-
hook.run_at ?= new Date()
|
|
22
|
-
hook.callback = callback
|
|
23
|
-
|
|
24
|
-
job =
|
|
25
|
-
hook: hook
|
|
26
|
-
table_name: TG_TABLE_NAME
|
|
27
|
-
record_uuid: NEW?.data?.uuid or OLD?.data?.uuid
|
|
28
|
-
record: OLD.data if TG_OP is "DELETE"
|
|
29
|
-
|
|
30
|
-
res = upsert_func "core", "jobs", JSON.stringify(job)
|
|
31
|
-
plv8.execute "SELECT pg_notify('jobs', $1);", [res]
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
$$ LANGUAGE plcoffee STABLE STRICT;
|
|
12
|
+
$$ LANGUAGE plv8 STABLE STRICT;
|
|
35
13
|
|
|
36
14
|
|
|
37
15
|
|
|
@@ -40,27 +18,11 @@ $$ LANGUAGE plcoffee STABLE STRICT;
|
|
|
40
18
|
|
|
41
19
|
CREATE or REPLACE FUNCTION jobs_model_callbacks() RETURNS trigger AS
|
|
42
20
|
$$
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
table_schema = (NEW?.data?.table_schema or OLD?.data?.table_schema) or "public"
|
|
46
|
-
|
|
47
|
-
return if table_schema is "core"
|
|
48
|
-
|
|
49
|
-
if TG_OP is "DELETE"
|
|
50
|
-
plv8.execute "DELETE FROM core.jobs WHERE __string(data, 'table_name'::text) = $1;", [table_name]
|
|
51
|
-
|
|
52
|
-
# if TG_OP is "DELETE" and OLD.data.hooks? or TG_OP is "UPDATE" and NEW.data.hooks?
|
|
53
|
-
# plv8.execute "DROP TRIGGER IF EXISTS #{table_schema}_#{table_name}_hook_trigger ON #{table_schema}.#{table_name}"
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
if TG_OP is "INSERT" or TG_OP is "UPDATE" and NEW.data.hooks? and not OLD.data.hooks?
|
|
57
|
-
plv8.execute """CREATE TRIGGER #{table_schema}_#{table_name}_hook_trigger
|
|
58
|
-
AFTER INSERT OR UPDATE OR DELETE ON #{table_schema}.#{table_name}
|
|
59
|
-
FOR EACH ROW EXECUTE PROCEDURE hook_trigger();"""
|
|
21
|
+
actn.funcs.jobs_model_callbacks(TG_TABLE_NAME, TG_OP, NEW, OLD)
|
|
60
22
|
|
|
61
23
|
|
|
62
24
|
|
|
63
|
-
$$ LANGUAGE
|
|
25
|
+
$$ LANGUAGE plv8 STABLE STRICT;
|
|
64
26
|
|
|
65
27
|
CREATE TRIGGER jobs_core_models_callback_trigger
|
|
66
28
|
AFTER INSERT OR UPDATE OR DELETE ON core.models
|
data/lib/actn/jobs/version.rb
CHANGED