Skip to content

Instantly share code, notes, and snippets.

@snmsts
Created October 17, 2012 01:22
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save snmsts/3903211 to your computer and use it in GitHub Desktop.
Save snmsts/3903211 to your computer and use it in GitHub Desktop.
it will cause memory shortage
(ql:quickload :daemon)
(daemon:daemonize :exit-parent t)
(ql:quickload '(:ningle :drakma))
(defparameter *log-file* (merge-pathnames "test.log" (user-homedir-pathname)))
(defparameter *gc-log-file* (merge-pathnames "gc.log" (user-homedir-pathname)))
(defparameter *ningle-instance* (make-instance 'ningle:<app>))
(when (zerop (daemon:fork))
(loop :repeat 20
:do (bt:make-thread
#'(lambda ()
(loop
:while t
:do (drakma:http-request
"http://localhost/test/test")))))
(loop :while (/= (daemon::getppid) 1) :do (sleep 1))
(daemon::exit 0))
#+sbcl
(setf (gc-logfile) *gc-log-file*)
(setf (ningle:route *ningle-instance* "/test" :method :get)
#'(lambda (params)
(declare (ignore params))
(clack.logger:log-message :notice "init")
(prog1
"hello"
(clack.logger:log-message :notice "end"))))
(setf clack.logger:*logger-min-level* clack.logger:+notice+)
(clack:clackup
(clack.app.urlmap:builder-urlmap
("/test/" (clack.builder:builder
(clack.middleware.logger:<clack-middleware-logger>
:logger (make-instance 'clack.logger.file:<clack-logger-file>
:output-file *log-file*))
*ningle-instance*)))
:server :fcgi
:port 9000)
(loop
:while
(not (<= 500
(nth-value 1 (drakma:http-request "http://localhost/test/test" :method :get))
599))
:do (sleep 60))
#|
added to "/etc/nginx/sites-enabled/default"
location /test {
fastcgi_pass 127.0.0.1:9000;
include fastcgi_params;
}
|#
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment