News for hackers. Stuff that matters.
Re:Running Lisp in Production by lisper on Friday June 26, 2015 @03:31PM (#9787196)
I don't know how they do it, but I have run several Lisp production systems. I use CCL, which has a really fast compiler. So I just load the code from source. The deployment process then becomes: git pull, quit and restart Lisp. (The ccl-init file loads the code.)
Re:Running Lisp in Production by meenzu on Friday June 26, 2015 @07:56PM (#9788421)
Oh cool! so from the server you stop the image that's running on the server, then restart the CCL image, and then load in the source (like starting a repl on the server and doing a "load ./start-file.lisp")? (ps sorry for the rookie questions am quite new to this and very interested).
Re:Running Lisp in Production by lisper on Friday June 26, 2015 @08:05PM (#9788448)
Yes, exactly. (And no worries about rookie questions. That's how people become non-rookies.)

In my case, I run the REPL using screen so I can go back to it for debugging if I need to. But you can also run "headless", without a REPL at all if you want.

Re:Running Lisp in Production by WalterGR on Friday June 26, 2015 @09:28PM (#9788695)
How do you deal with existing connections to the Lisp service when you want to deploy?

e.g. remove from load balancer, wait up to n minutes for connections to drain?, git pull, quit, restart Lisp, re-add to load balancer. ?

Re:Running Lisp in Production by lisper on Saturday June 27, 2015 @02:06AM (#9789279)
Yep, pretty much. I've only ever dealt with low-load applications so there was no load balancer. You just put the Lisp server in a state where it refuses new connections (serves up a "temporarily down for mx" page, or reconfigure the ngingx front end to do that), wait for existing connections to finish, and then restart. It's no different from any other server.
Re:Running Lisp in Production by PuercoPop on Friday June 26, 2015 @04:08PM (#9787420)
And in that case how do you handle the monitoring of the system?
Re:Running Lisp in Production by aidenn0 on Saturday June 27, 2015 @12:10AM (#9789069)
This is why I switched from running daemons in tmux to having them start a slime listener; I can monitor them from any standard process monitor that will log errors and restart (I use daemontools with a run-script that sends me an e-mail to notify me of the restart).
Re:Running Lisp in Production by lisper on Friday June 26, 2015 @04:20PM (#9787483)
I don't understand the question. Once it's running, it's like any other server, and you monitor it like you would any other server written in any other language.
Re:Running Lisp in Production by WalterGR on Friday June 26, 2015 @09:27PM (#9788690)
Speculation here, but based on the context, I think the question is: Some daemon-izer solutions will monitor the daemon and e.g. restart it if it's unresponsive. How do you handle this slash how is this handled in the Common Lisp world?
Re:Running Lisp in Production by lisper on Saturday June 27, 2015 @02:11AM (#9789286)
As a last resort, if Lisp becomes totally unresponsive, you kill the process and restart, same as any other language. But it's pretty rare to lose the REPL, so usually you can fix any unexpected problems through that.