From f8573f58e8a9a4c90be41353aee984d5210de8fb Mon Sep 17 00:00:00 2001 From: Bryce Date: Thu, 8 Feb 2024 14:01:53 -0800 Subject: [PATCH] Should fix repl --- project.clj | 37 ++++++------ src/clj/auto_ap/server.clj | 115 ++++++++++++++++++++++++++++++++++--- 2 files changed, 127 insertions(+), 25 deletions(-) diff --git a/project.clj b/project.clj index 898e3939..fa0c0049 100644 --- a/project.clj +++ b/project.clj @@ -1,5 +1,5 @@ (defproject auto-ap "0.1.0-SNAPSHOT" - :description "FIXME: write description" + :description "FIXME: write description" :url "http://example.com/FIXME" :min-lein-version "2.0.0" :dependencies [[com.google.guava/guava "31.1-jre"] @@ -109,7 +109,7 @@ [lein-ancient "0.6.15"]] :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"] #_#_:ring {:handler auto-ap.handler/app} - :source-paths ["src/clj" "src/cljc" "src/cljs" "iol_ion/src"] + :source-paths ["src/clj" "src/cljc" "src/cljs" "iol_ion/src" ] :resource-paths ["resources"] :aliases {"build" ["do" ["uberjar"]] "fig:dev" ["run" "-m" "figwheel.main" "-b" "dev" "-r"] @@ -117,8 +117,10 @@ "fig:min" ["run" "-m" "figwheel.main" "-O" "whitespace" "-bo" "min"]} - :profiles {:dev - {:resource-paths ["resources" "target"] + :profiles { + :dev + { + :resource-paths ["resources" "target"] :dependencies [#_[binaryage/devteols "1.0.2"] [postgresql/postgresql "9.3-1102.jdbc41"] [org.clojure/tools.namespace "1.4.5"] @@ -142,13 +144,13 @@ [com.bhauman/rebel-readline-cljs "0.1.4" :exclusions [org.clojure/clojurescript]] [javax.servlet/servlet-api "2.5"]] :plugins [[lein-pdo "0.1.1"]] - :jvm-opts ["-Dconfig=config/dev.edn" "-Xms4G" "-Xmx20G" "-XX:-OmitStackTraceInFastThrow"]} + :jvm-opts ["-Dconfig=config/dev.edn" "-Xms4G" "-Xmx20G" "-XX:-OmitStackTraceInFastThrow" ]} :uberjar - {:java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java" - :main auto-ap.main - :prep-tasks ["fig:min"] - :aot [auto-ap.main auto-ap.time clj-time.core clj-time.coerce clj-time.format clojure.tools.logging.impl] + { + :java-cmd "/usr/lib/jvm/java-11-openjdk/bin/java" + :prep-tasks ["fig:min" ] + :aot [auto-ap.server auto-ap.time clj-time.core clj-time.coerce clj-time.format clojure.tools.logging.impl ] :dependencies [[com.bhauman/figwheel-main "0.2.18" :exclusions [org.clojure/clojurescript ring ring/ring-core @@ -167,7 +169,7 @@ :provided {:dependencies [[org.clojure/clojurescript "1.11.4" :exclusions [com.google.code.findbugs/jsr305 com.fasterxml.jackson.core/jackson-core]] - [reagent "1.0.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server]] + [reagent "1.0.0" :exclusions [cljsjs/react cljsjs/react-dom cljsjs/react-dom-server] ] [re-frame "1.1.2" :exclusions [reagent @@ -175,8 +177,11 @@ [re-frame-utils "0.1.0"] [com.andrewmcveigh/cljs-time "0.5.2"] [cljs-http "0.1.46"] - [kibu/pushy "0.3.8"]]}} + [kibu/pushy "0.3.8"]]} + } + + :main auto-ap.server :uberjar-name "auto-ap.jar" :test-paths ["test/clj"] :test-selectors {:integration (fn [m] @@ -185,10 +190,10 @@ (clojure.string/includes? (str (:name m)) "integration"))) :functional (fn [m] - (or (clojure.string/includes? (str (:ns m)) - "functional") - (clojure.string/includes? (str (:name m)) - "functional")))} + (or (clojure.string/includes? (str (:ns m)) + "functional") + (clojure.string/includes? (str (:name m)) + "functional")))} - :prep-tasks ["compile"]) + :prep-tasks [ "compile"]) diff --git a/src/clj/auto_ap/server.clj b/src/clj/auto_ap/server.clj index 23608219..0f53c817 100644 --- a/src/clj/auto_ap/server.clj +++ b/src/clj/auto_ap/server.clj @@ -1,13 +1,40 @@ (ns auto-ap.server - (:require [auto-ap.handler :refer [app]] - [auto-ap.logging :as alog] - [com.unbounce.dogstatsd.core :as statsd] - [config.core :refer [env]] - [mount.core :as mount] - [ring.adapter.jetty :refer [run-jetty]] - [yang.scheduler :as scheduler]) - (:import (org.eclipse.jetty.server.handler StatisticsHandler) - (org.eclipse.jetty.server.handler.gzip GzipHandler))) + (:gen-class) + (:require + [auto-ap.handler :refer [app]] + [auto-ap.jobs.restore-from-backup :as job-restore-from-backup] + [auto-ap.jobs.bulk-journal-import :as job-bulk-journal-import] + [auto-ap.jobs.close-auto-invoices :as job-close-auto-invoices] + [auto-ap.jobs.current-balance-cache :as job-current-balance-cache] + [auto-ap.jobs.ezcater-upsert :as job-ezcater-upsert] + [auto-ap.jobs.import-uploaded-invoices :as job-import-uploaded-invoices] + [auto-ap.jobs.intuit :as job-intuit] + [auto-ap.jobs.ntg :as job-ntg] + #_[auto-ap.backup :as backup] + [auto-ap.jobs.ledger-reconcile :as job-reconcile-ledger] + [auto-ap.jobs.load-historical-sales :as job-load-historical-sales] + [auto-ap.jobs.plaid :as job-plaid] + [auto-ap.jobs.register-invoice-import :as job-register-invoice-import] + [auto-ap.jobs.square :as job-square] + [auto-ap.jobs.sysco :as job-sysco] + [auto-ap.jobs.vendor-usages :as job-vendor-usages] + [auto-ap.jobs.yodlee2 :as job-yodlee2] + [auto-ap.logging :as alog] + [com.unbounce.dogstatsd.core :as statsd] + [config.core :refer [env]] + [mount.core :as mount] + [nrepl.server :refer [start-server]] + [ring.adapter.jetty :refer [run-jetty]] + [yang.scheduler :as scheduler] + [auto-ap.jobs.insight-outcome-recommendation :as insight-outcome-recommendation]) + (:import + (org.eclipse.jetty.server.handler StatisticsHandler) + (org.eclipse.jetty.server.handler.gzip GzipHandler))) + +(defn add-shutdown-hook! [^Runnable f] + (.addShutdownHook (Runtime/getRuntime) + (Thread. f))) + (defn gzip-handler [] (doto (GzipHandler.) @@ -61,3 +88,73 @@ :start (scheduler/every (* 1000 10) collect-jetty-stats) :stop (scheduler/stop jetty-stats)) +(defn shutdown-mount [] + (mount/stop)) + +(defn -main [& _] + (let [job (System/getenv "INTEGREAT_JOB")] + (println "JOB is" job) + (cond (= job "square-import-job") + (job-square/-main) + + (= job "reconcile-ledger") + (job-reconcile-ledger/-main) + + (= job "current-balance-cache") + (job-current-balance-cache/-main) + + (= job "yodlee2") + (job-yodlee2/-main) + + (= job "yodlee2-accounts") + (job-yodlee2/accounts-only) + + (= job "plaid") + (job-plaid/-main) + + (= job "intuit") + (job-intuit/-main) + + (= job "vendor-usages") + (job-vendor-usages/-main) + + (= job "import-uploaded-invoices") + (job-import-uploaded-invoices/-main) + + (= job "sysco") + (job-sysco/-main) + + (= job "close-auto-invoices") + (job-close-auto-invoices/-main) + + (= job "ezcater-upsert") + (job-ezcater-upsert/-main) + + (= job "register-invoice-import") + (job-register-invoice-import/-main) + + (= job "load-historical-sales") + (job-load-historical-sales/-main) + + (= job "bulk-journal-import") + (job-bulk-journal-import/-main) + + (= job "restore-from-backup") + (job-restore-from-backup/-main) + + (= job "insight-outcome-recommendation") + (insight-outcome-recommendation/-main) + + ;; (= job "export-backup") + ;; (backup/-main) + + (= job "ntg") + (job-ntg/-main) + + :else + (do + (add-shutdown-hook! shutdown-mount) + (start-server :port 9000 :bind "0.0.0.0" #_#_:handler (cider-nrepl-handler)) + (mount/start) + #_(alter-var-root #'nrepl.middleware.print/*print-fn* (constantly clojure.pprint/pprint)))))) +