Set up Prodigy to be able to read logs from file instead of buffer
This commit is contained in:
parent
5c8d703e8e
commit
03a03b16ba
@ -3104,6 +3104,30 @@ Syntax highlighting for Dockerfiles:
|
||||
|
||||
(leader-def-key "P" #'prodigy)
|
||||
#+END_SRC
|
||||
|
||||
Add the ability to associate a file with a service instead of a buffer:
|
||||
#+BEGIN_SRC emacs-lisp
|
||||
(with-eval-after-load 'prodigy
|
||||
(defun prodigy-service-file (service)
|
||||
"Return SERVICE file.
|
||||
|
||||
If SERVICE file exists, use that. If not, find the first SERVICE
|
||||
tag that has a file and return that."
|
||||
(let ((file (prodigy-service-or-first-tag-with service :file)))
|
||||
(if (functionp file)
|
||||
(prodigy-callback-with-plist file service)
|
||||
file)))
|
||||
(defun prodigy-display-process-file-or-buffer ()
|
||||
(interactive)
|
||||
(when-let (service (prodigy-service-at-pos))
|
||||
(if-let (file (prodigy-service-file service))
|
||||
(progn
|
||||
(find-file-literally file)
|
||||
(prodigy-view-mode)
|
||||
(auto-revert-tail-mode))
|
||||
(prodigy-switch-to-process-buffer service))))
|
||||
(general-def 'normal prodigy-mode-map "`" #'prodigy-display-process-file-or-buffer))
|
||||
#+END_SRC
|
||||
* Lola
|
||||
Some functions to make my day job easier.
|
||||
|
||||
@ -3114,6 +3138,11 @@ Some functions to make my day job easier.
|
||||
(substitute-in-file-name (format "$WORKON_HOME/%s/bin/activate" venv))
|
||||
callback))
|
||||
|
||||
(defun get-latest-log ()
|
||||
(car (last (directory-files default-directory
|
||||
nil
|
||||
"[[:digit:]-]+T[[:digit:]:]+\\.log"))))
|
||||
|
||||
(defun python-service-setup (venv &optional env-file)
|
||||
(lambda (done)
|
||||
(call-with-venv
|
||||
@ -3125,10 +3154,16 @@ Some functions to make my day job easier.
|
||||
|
||||
(prodigy-define-service
|
||||
:name "lola-server (gunicorn)"
|
||||
:command "gunicorn"
|
||||
:args '("-c" "server/web/gunicorn.conf.py"
|
||||
"-b" "127.0.0.1:7200"
|
||||
"bin.start_web:init_and_create_flask_app()")
|
||||
:command "bash"
|
||||
:args (lambda ()
|
||||
(list
|
||||
"-c"
|
||||
(format
|
||||
"gunicorn -c server/web/gunicorn.conf.py \
|
||||
-b 127.0.0.1:7200 bin.start_web:init_and_create_flask_app\\(\\) \
|
||||
&> %s.log"
|
||||
(format-time-string "%Y-%m-%dT%H:%M:%S"))))
|
||||
:file #'get-latest-log
|
||||
:cwd "~/lola/lola-server"
|
||||
:stop-signal 'int
|
||||
:truncate-output t
|
||||
@ -3147,9 +3182,14 @@ Some functions to make my day job easier.
|
||||
|
||||
(prodigy-define-service
|
||||
:name "travel-service"
|
||||
:command "python"
|
||||
:args '("bin/start_web.py")
|
||||
:command "bash"
|
||||
:args (lambda ()
|
||||
(list
|
||||
"-c"
|
||||
(format "python bin/start_web.py &> %s.log"
|
||||
(format-time-string "%Y-%m-%dT%H:%M:%S"))))
|
||||
:cwd "~/lola/lola-travel-service"
|
||||
:file #'get-latest-log
|
||||
:stop-signal 'int
|
||||
:truncate-output t
|
||||
:init-async (python-service-setup "travel-service"
|
||||
|
Loading…
Reference in New Issue
Block a user