From 53178e64c72beb5906c3849594f65891c792789b Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 10:54:31 -0800 Subject: [PATCH 1/7] Undoing retrying --- src/clj/auto_ap/yodlee/core.clj | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/clj/auto_ap/yodlee/core.clj b/src/clj/auto_ap/yodlee/core.clj index 7ea2e704..e2d7afa7 100644 --- a/src/clj/auto_ap/yodlee/core.clj +++ b/src/clj/auto_ap/yodlee/core.clj @@ -17,8 +17,13 @@ (def other-config (if (:yodlee-proxy-host env) {:proxy-host (:yodlee-proxy-host env) - :proxy-port (:yodlee-proxy-port env)} - {})) + :proxy-port (:yodlee-proxy-port env) + :retry-handler (fn [ex try-count http-context] + (log/error "yodlee Error." ex) + false)} + {:retry-handler (fn [ex try-count http-context] + (log/error "yodlee Error." ex) + false)})) (def base-headers {"Api-Version" "1.1" "Cobrand-Name" (:yodlee-cobrand-name env) From 0c7226073445b3315b5f8d2bbc0a7884bb41a3e0 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 15:29:52 -0800 Subject: [PATCH 2/7] enabling jmx. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 91ed8967..fa38164e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ RUN apk add poppler RUN apk add poppler-utils COPY target/auto-ap.jar /usr/local/ COPY config /usr/local/config/ -CMD java -Dlogback.configurationFile=logback-prod.xml -jar /usr/local/auto-ap.jar +CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Dcom.sun.management.jmxremote.rmi.port=1098 -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar From 29026255805249b6e669ea92394599e44da298c8 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 15:50:21 -0800 Subject: [PATCH 3/7] Adding locahost test --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index fa38164e..cd81734b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ RUN apk add poppler RUN apk add poppler-utils COPY target/auto-ap.jar /usr/local/ COPY config /usr/local/config/ -CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Dcom.sun.management.jmxremote.rmi.port=1098 -Djava.rmi.server.hostname=0.0.0.0 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar +CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Dcom.sun.management.jmxremote.rmi.port=1098 -Djava.rmi.server.hostname=172.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar From d1f03758315bcae911de3934a379f595f3ed9abc Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 15:59:38 -0800 Subject: [PATCH 4/7] trying a different port --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index cd81734b..7749e2e3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ RUN apk add poppler RUN apk add poppler-utils COPY target/auto-ap.jar /usr/local/ COPY config /usr/local/config/ -CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=1098 -Dcom.sun.management.jmxremote.rmi.port=1098 -Djava.rmi.server.hostname=172.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar +CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Djava.rmi.server.hostname=172.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar From 79be7985ef22ea417f945cc65a4e7dca8465f518 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 16:02:48 -0800 Subject: [PATCH 5/7] stupid mistake. --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7749e2e3..fb335779 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,4 +4,4 @@ RUN apk add poppler RUN apk add poppler-utils COPY target/auto-ap.jar /usr/local/ COPY config /usr/local/config/ -CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Djava.rmi.server.hostname=172.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar +CMD java -Dlogback.configurationFile=logback-prod.xml -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.rmi.port=9090 -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.local.only=false -jar /usr/local/auto-ap.jar From cfba7a0346221ae59f70d277bc4c0c755dd4e017 Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 19:11:48 -0800 Subject: [PATCH 6/7] Improvements to performance! --- src/clj/auto_ap/datomic/ledger.clj | 35 ++++++++++++++++-------------- src/clj/auto_ap/graphql/ledger.clj | 2 +- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/src/clj/auto_ap/datomic/ledger.clj b/src/clj/auto_ap/datomic/ledger.clj index 3f1539f0..27773bb8 100644 --- a/src/clj/auto_ap/datomic/ledger.clj +++ b/src/clj/auto_ap/datomic/ledger.clj @@ -14,28 +14,19 @@ (let [query (cond-> {:query {:find [] :in ['$ ] - :where ['[?e :journal-entry/date ?sort-default]]} + :where []} :args [db]} - (:sort args) (add-sorter-fields {"client" ['[?e :journal-entry/client ?c] - '[?c :client/name ?sort-client]] - "date" ['[?e :journal-entry/date ?sort-date]] - "vendor" ['[?e :journal-entry/vendor ?sort-vendor]] - "amount" ['[?e :journal-entry/amount ?sort-amount]] - "external-id" ['[?e :journal-entry/external-id ?sort-external-id]] - "source" ['[?e :journal-entry/source ?sort-source]]} - args) - - (limited-clients (:id args)) - (merge-query {:query {:in ['[?xx ...]] - :where ['[?e :journal-entry/client ?xx]]} - :args [(set (map :db/id (limited-clients (:id args))))]}) - + (:client-id args) (merge-query {:query {:in ['?client-id] :where ['[?e :journal-entry/client ?client-id]]} :args [(:client-id args)]}) + + + + (:only-external args) (merge-query {:query {:where ['(not [?e :journal-entry/original-entity ])]}}) @@ -113,10 +104,22 @@ :where ['[?e :journal-entry/line-items ?li] '[?li :journal-entry-line/location ?location]]} :args [(:location args)]}) + (limited-clients (:id args)) + (merge-query {:query {:in ['[?xx ...]] + :where ['[?e :journal-entry/client ?xx]]} + :args [(set (map :db/id (limited-clients (:id args))))]}) + (:sort args) (add-sorter-fields {"client" ['[?e :journal-entry/client ?c] + '[?c :client/name ?sort-client]] + "date" ['[?e :journal-entry/date ?sort-date]] + "vendor" ['[?e :journal-entry/vendor ?sort-vendor]] + "amount" ['[?e :journal-entry/amount ?sort-amount]] + "external-id" ['[?e :journal-entry/external-id ?sort-external-id]] + "source" ['[?e :journal-entry/source ?sort-source]]} + args) true (merge-query {:query {:find ['?sort-default '?e] :where ['[?e :journal-entry/date ?sort-default]]}}))] - (->> (doto query println) + (->> (doto query log/info) (d/query) (apply-sort-3 (update args :sort conj {:sort-key "default-2" :asc true})) diff --git a/src/clj/auto_ap/graphql/ledger.clj b/src/clj/auto_ap/graphql/ledger.clj index c9ea15e3..4ca85236 100644 --- a/src/clj/auto_ap/graphql/ledger.clj +++ b/src/clj/auto_ap/graphql/ledger.clj @@ -38,7 +38,7 @@ )) ) journal-entries)] - (result->page journal-entries journal-entries-count :journal_entries args))) + (result->page journal-entries journal-entries-count :journal_entries (:filters args)))) ;; TODO a better way to do this might be to accumulate ALL credits and ALL debits, and then just do for credits: balance = credits - debits. and for debits balance = debits - credits (defn credit-account? [account] From 0f1d5d26d2d5f90e66ca036181ce54fef22f82fd Mon Sep 17 00:00:00 2001 From: Bryce Covert Date: Mon, 21 Dec 2020 20:05:38 -0800 Subject: [PATCH 7/7] Fixing vendor sorting --- src/clj/auto_ap/datomic/ledger.clj | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/clj/auto_ap/datomic/ledger.clj b/src/clj/auto_ap/datomic/ledger.clj index 27773bb8..69ec5729 100644 --- a/src/clj/auto_ap/datomic/ledger.clj +++ b/src/clj/auto_ap/datomic/ledger.clj @@ -111,7 +111,8 @@ (:sort args) (add-sorter-fields {"client" ['[?e :journal-entry/client ?c] '[?c :client/name ?sort-client]] "date" ['[?e :journal-entry/date ?sort-date]] - "vendor" ['[?e :journal-entry/vendor ?sort-vendor]] + "vendor" ['[?e :journal-entry/vendor ?v] + '[?v :vendor/name ?sort-vendor]] "amount" ['[?e :journal-entry/amount ?sort-amount]] "external-id" ['[?e :journal-entry/external-id ?sort-external-id]] "source" ['[?e :journal-entry/source ?sort-source]]}