fixed up display mechanism
[clinton/lisp-on-lines.git] / bin / start.lisp
CommitLineData
a9355c10
DC
1;; -*- lisp -*-
2
3(in-package :common-lisp-user)
4
5#+cmu
6(defun init-cmu-mp ()
7 ;; this isn't strictly necessary, but scheduling feels very coarse
8 ;; without startup-idle-and-top-level-loops, leading to answer delays
9 ;; of about 1s per request.
10 (unless (find-if
11 #'(lambda (proc) (string= (mp:process-name proc) "Top Level Loop"))
12 (mp:all-processes))
13 (mp::startup-idle-and-top-level-loops)))
14
15#+cmu
16(init-cmu-mp)
17
18;;;; * UCW server initialization "script"
19
20;;;; This file is meant to be loaded by ucwctl, but you can use it a
21;;;; general "startup ucw" file as well. You should customize this
22;;;; script to load/prepare your application.
23
24;;;; ** Loadup dependencies
25
26;;;; Load arnesi first so we can set arnesi::*call/cc-returns* before
27;;;; ucw is compiled and loaded.
28(asdf:oos 'asdf:load-op :arnesi)
29(setf arnesi::*call/cc-returns* nil)
30
31;;;; Load up UCW itself
32(asdf:oos 'asdf:load-op :ucw)
33
34(in-package :it.bese.ucw-user)
35
36#+(and sbcl sb-unicode)
37(setf (external-format-for :slime) :utf-8-unix
38 (external-format-for :url) :utf-8
39 (external-format-for :http-emacsen) :utf-8-unix
40 (external-format-for :http-lispish) :utf-8)
41
42;;;; Load the default applications systems
43
44(asdf:oos 'asdf:load-op :ucw.examples)
45(asdf:oos 'asdf:load-op :ucw.admin)
46(asdf:oos 'asdf:load-op :lisp-on-lines)
47(asdf:oos 'asdf:load-op :lisp-on-lines.example)
48
49;;;; Let there be swank.
50(swank:create-server :port 4007)
51
52;;;; Finally startup the server
53
54;;;; ** Finally startup the server
55
56(ucw:create-server :backend :araneida
57
58 ;; :httpd
59 ;; :mod-lisp
60 ;; :aserve
61 :host "merlin.tech.coop"
62 :port 8082
63 :applications (list
64 lol::*lol-example-application*)
65 :inspect-components nil
66 :log-root-directory (make-pathname :name nil :type nil
67 :directory (append (pathname-directory *load-truename*)
68 (list :up "logs"))
69 :defaults *load-truename*)
70 :log-level +info+
71 :start-p t)
72
73;;;; ** Allocate one database connection per thread :
74
75(defmethod araneida:handle-request-response :around ((handler ucw::ucw-handler) method request)
76 (clsql:with-database (my-db '("localhost" "lol" "lol" "lol") :pool t)
77 (clsql:with-default-database (my-db)
78 (call-next-method))))
79
80(publish-directory (server.backend *default-server*) #P"/home/drewc/src/site/lisp-on-lines/wwwroot/dojo/" "/dojo/")
81(publish-directory (server.backend *default-server*) #P"/home/drewc/src/site/lisp-on-lines/wwwroot/prototype/" "/prototype/")
82
83(publish-directory (server.backend *default-server*) #P"/home/drewc/src/sunrise/wwwroot/" "/")
84
85
86