Created
July 1, 2015 19:47
-
-
Save mccraigmccraig/9e08e58ea75f6f5946eb to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
(ns clustermap.application | |
(:require [parenjin.application :as app] | |
[parenjin.job :as job] | |
[clustermap.config :as conf] | |
[clustermap.connectors :as conn] | |
[clomponents.control :as clomp])) | |
(def app-spec {:enjins { | |
:ping {:model :clustermap.datasets.ping.dataset/dataset} | |
:api-cache {:model :clustermap.datasets.api-cache.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql}} | |
:iso3166-country-codes {:model :clustermap.datasets.iso3166-country-codes.dataset/dataset | |
:connectors {:postgresql :postgresql}} | |
:exchange-rates {:model :clustermap.datasets.exchange-rates.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql}} | |
:boundaryline {:model :clustermap.datasets.boundaryline.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql | |
:cassandra :cassandra | |
:elasticsearch :elasticsearch}} | |
:geo-sponsors {:model :clustermap.datasets.geo-sponsors.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch}} | |
:ons-postcode-directory {:model :clustermap.datasets.ons-postcode-directory.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql | |
:cassandra :cassandra} | |
:enjins {:boundaryline :boundaryline} | |
:webservices :none} | |
:os-boundaryline {:model :clustermap.datasets.os-boundaryline.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:boundaryline :boundaryline | |
:ons-postcode-directory :ons-postcode-directory}} | |
:ons-2011-census {:model :clustermap.datasets.ons-2011-census.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:boundaryline :boundaryline}} | |
:nuts-boundaryline {:model :clustermap.datasets.nuts-boundaries.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:boundaryline :boundaryline | |
:ons-postcode-directory :ons-postcode-directory}} | |
:euroglobalmap {:model :clustermap.datasets.euroglobalmap.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:boundaryline :boundaryline}} | |
:geocommons {:model :clustermap.datasets.geocommons.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:boundaryline :boundaryline}} | |
:companies-house-free {:model :clustermap.datasets.companies-house-free.dataset/dataset | |
:params {:prefix ""} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:ons-postcode-directory :ons-postcode-directory | |
:boundaryline :boundaryline} | |
:webservices :none} | |
:normalized-registry {:model :clustermap.datasets.normalized-registry.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch | |
:nominatim-geocoding :nominatim-geocoding} | |
:enjins {:boundaryline :boundaryline | |
:companies :companies | |
:recordmatch :recordmatch | |
:api-cache :api-cache | |
:iso3166-country-codes :iso3166-country-codes | |
:exchange-rates :exchange-rates}} | |
:creditsafe-uk-companies {:model :clustermap.datasets.creditsafe-companies-house.dataset/dataset | |
:params {:prefix "" :version ""} | |
:connectors {:cassandra :cassandra | |
:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:ons-postcode-directory :ons-postcode-directory | |
:boundaryline :boundaryline | |
:companies :companies | |
:normalized-registry :normalized-registry}} | |
:creditsafe-marketing {:model :clustermap.datasets.creditsafe-marketing.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:boundaryline :boundaryline | |
:normalized-registry :normalized-registry}} | |
:twitter {:model :clustermap.datasets.twitter.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:twitter :twitter | |
:postgresql :postgresql}} | |
:clustermap-webapps {:model :clustermap.datasets.clustermap-webapp.dataset/dataset | |
:params {:prefix "" | |
:base-root-dir "../clustermap2-webapps" | |
:default-root-dir "../clustermap2-webapps/__default__"} | |
:connectors {:postgresql :postgresql}} | |
:companies {:model :clustermap.datasets.companies.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch | |
:cassandra :cassandra} | |
:enjins {:ons-postcode-directory :ons-postcode-directory | |
:creditsafe-uk-companies :creditsafe-uk-companies | |
:twitter :twitter | |
:tenant-config :clustermap-webapps | |
:boundaryline :boundaryline | |
:recordmatch :recordmatch}} | |
:crunchbase {:model :clustermap.datasets.crunchbase.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:crunchbase :crunchbase | |
:google-geocoding :google-geocoding} | |
:enjins {:api-cache :api-cache | |
:companies :companies | |
:iso3166-country-codes :iso3166-country-codes | |
:boundaryline :boundaryline}} | |
:angellist {:model :clustermap.datasets.angellist.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:angellist :angellist | |
:google-geocoding :google-geocoding} | |
:enjins {:api-cache :api-cache | |
:companies :companies | |
:boundaryline :boundaryline}} | |
:seeddb {:model :clustermap.datasets.seeddb.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:google-geocoding :google-geocoding} | |
:enjins {:api-cache :api-cache | |
:companies :companies}} | |
:startup-companies {:model :clustermap.datasets.startup-companies.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql} | |
:enjins {:companies :companies | |
:crunchbase :crunchbase | |
:angellist :angellist | |
:boundaryline :boundaryline}} | |
;;;;;;;;;;; woe | |
:west-of-england {:model :clustermap.datasets.west-of-england.dataset/dataset | |
:params {:prefix #app/fix-ref [:app-prefix "woe"] | |
:version ""} | |
:connectors {:postgresql :postgresql} | |
:enjins {:creditsafe-uk-companies :creditsafe-uk-companies | |
:companies :companies | |
:boundaryline :boundaryline | |
:ons-postcode-directory :ons-postcode-directory}} | |
;;;;;;;;;;; BVCA | |
:bvca {:model :clustermap.datasets.bvca.dataset/dataset | |
:params {:prefix #app/fix-ref [:app-prefix "bvca"]} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:creditsafe-uk-companies :creditsafe-uk-companies | |
:companies :companies | |
:boundaryline :boundaryline | |
:ons-postcode-directory :ons-postcode-directory}} | |
;;;;;;;;;;; EUStartupHubs | |
:recordmatch {:model :clustermap.datasets.recordmatch.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch}} | |
:eustartuphubs {:model :clustermap.datasets.eustartuphubs.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:companies :companies | |
:recordmatch :recordmatch | |
:crunchbase :crunchbase | |
:angellist :angellist | |
:seeddb :seeddb | |
:creditsafe-marketing :creditsafe-marketing | |
:creditsafe-uk-companies :creditsafe-uk-companies | |
:normalized-registry :normalized-registry | |
:startup-companies :startup-companies | |
:exchange-rates :exchange-rates}} | |
:camclustermap {:model :clustermap.datasets.camclustermap.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:boundaryline :boundaryline | |
:ons-postcode-directory :ons-postcode-directory | |
:companies :companies | |
:creditsafe-uk-companies :creditsafe-uk-companies}} | |
:medcity {:model :clustermap.datasets.medcity.dataset/dataset | |
:params {:prefix #app/ref :app-prefix} | |
:connectors {:postgresql :postgresql | |
:elasticsearch :elasticsearch} | |
:enjins {:companies :companies | |
:creditsafe-uk-companies :creditsafe-uk-companies}} | |
;;;;;;;;;;;;; uk company explorer | |
;; :ukcoexplorer {:model :clustermap.datasets.eu-startup-data.dataset/dataset | |
;; :params {:prefix #app/fix-ref [:app-prefix "ukcoexplorer"]} | |
;; :connectors {:postgresql :postgresql | |
;; :elasticsearch :elasticsearch} | |
;; :enjins {:clustermap-webapps :clustermap-webapps | |
;; :creditsafe-uk-companies :creditsafe-uk-companies | |
;; :companies :companies | |
;; :boundaryline :boundaryline | |
;; :ons-postcode-directory :ons-postcode-directory}} | |
;; :greatlondontechcensus {:model :clustermap.datasets.eu-startup-data.dataset/dataset | |
;; :params {:prefix #app/fix-ref [:app-prefix "greatlondontechcensus"]} | |
;; :connectors {:postgresql :postgresql | |
;; :elasticsearch :elasticsearch} | |
;; :enjins {:clustermap-webapps :clustermap-webapps | |
;; :creditsafe-uk-companies :creditsafe-uk-companies | |
;; :companies :companies | |
;; :boundaryline :boundaryline | |
;; :ons-postcode-directory :ons-postcode-directory}} | |
} | |
:jobs { | |
;; :streaming [[:twitter :stream]] | |
:update [ | |
[:west-of-england :update] | |
[:bvca :update] | |
] | |
:reindex [ | |
[:west-of-england :reindex] | |
] | |
} | |
}) | |
(defn app | |
[] | |
(app/create-application (clustermap.connectors/registry) app-spec)) | |
(defn webstart | |
[] | |
(let [webc (:web (clustermap.connectors/registry))] | |
(clomp/destroy webc) | |
(clomp/create webc {:routes [(-> (app) | |
(app/create-webservice (= :development (:environment (conf/config)))))]}))) | |
(defn runjob | |
[job-name] | |
(let [app (app) | |
job-id (-> job-name name keyword) | |
jobs (app/job app job-id)] | |
(job/run-jobs-serial jobs))) | |
(defn runservice | |
[job-name] | |
(let [app (app) | |
job-id (-> job-name name keyword) | |
jobs (app/job app job-id)] | |
(job/run-jobs-parallel jobs) | |
(job/join-jobs jobs))) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment