* [0] Run org-babel src block periodically @ 2016-01-03 19:33 Giri Prashanth 2016-01-03 22:30 ` John Kitchin 0 siblings, 1 reply; 3+ messages in thread From: Giri Prashanth @ 2016-01-03 19:33 UTC (permalink / raw) To: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 409 bytes --] Hi, I would like to run a org-src block code periodically, is there any property for org-blocks for such repeated execution. For example if I want to watch the tail of a file periodically every 1 min for next 1 hour, I would like to set a property like repeat for times to repeat and keep the org file auto updated #+BEGIN_SRC shell :repeat 60 :repeat-every 60sec tail -n 10 file #+END_SRC Thank you, -GP [-- Attachment #2: Type: text/html, Size: 645 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [0] Run org-babel src block periodically 2016-01-03 19:33 [0] Run org-babel src block periodically Giri Prashanth @ 2016-01-03 22:30 ` John Kitchin 2016-01-08 7:44 ` Giri Prashanth 0 siblings, 1 reply; 3+ messages in thread From: John Kitchin @ 2016-01-03 22:30 UTC (permalink / raw) To: Giri Prashanth; +Cc: emacs-orgmode This is kind of close to what you want I think (at least it updates every 5 seconds for me, 5 times before it stops). You might adapt it to do what you want. This is the block to run periodically. #+name: time-string #+BEGIN_SRC sh date top -o "cpu" -ncols 4 -l 1| head -n 15 #+END_SRC #+RESULTS: time-string #+begin_example Sun Jan 3 17:28:27 EST 2016 Processes: 225 total, 2 running, 3 stuck, 220 sleeping, 1110 threads 2016/01/03 17:28:27 Load Avg: 1.20, 1.51, 1.55 CPU usage: 5.0% user, 22.50% sys, 72.50% idle SharedLibs: 14M resident, 12M data, 0B linkedit. MemRegions: 57263 total, 3092M resident, 72M private, 450M shared. PhysMem: 6508M used (1098M wired), 1246M unused. VM: 588G vsize, 1067M framework vsize, 6471076(0) swapins, 6831574(0) swapouts. Networks: packets: 190809878/201G in, 277243826/231G out. Disks: 11873268/180G read, 10075469/265G written. PID COMMAND %CPU TIME 96378 com.apple.InputM 0.0 00:00.26 96376 AppleSpell 0.0 00:00.68 96015 head 0.0 00:00.00 #+end_example This function will update that block. We increment a counter and cancel the timer when it is exceeded. #+BEGIN_SRC emacs-lisp (defun update-src-block (fname src-name N) "Update the src-block named SRC-NAME in the file FNAME upto N times." (if (> *counter* N) (progn (cancel-timer *timer*) (message-box "Done with timer")) (save-excursion (with-current-buffer (find-file-noselect fname) (org-babel-goto-named-src-block src-name) (org-babel-execute-src-block) (incf *counter*))))) #+END_SRC #+RESULTS: : update-src-block We use a global var for the counter and timer. #+BEGIN_SRC emacs-lisp (setq *counter* 0) (setq *timer* (run-with-timer nil 5 'update-src-block "/Users/jkitchin/blogofile-jkitchin.github.com/_blog/blog.org" "time-string" 5)) #+END_SRC #+RESULTS: : [nil 22153 41074 708648 5 update-src-block ("/Users/jkitchin/blogofile-jkitchin.github.com/_blog/blog.org" "time-string" 5) nil 0] Giri Prashanth writes: > Hi, > > I would like to run a org-src block code periodically, is there any > property for org-blocks for such repeated execution. > > For example if I want to watch the tail of a file periodically every 1 min > for next 1 hour, I would like to set a property like repeat for times to > repeat and keep the org file auto updated > > #+BEGIN_SRC shell :repeat 60 :repeat-every 60sec > tail -n 10 file > #+END_SRC > > Thank you, > -GP -- Professor John Kitchin Doherty Hall A207F Department of Chemical Engineering Carnegie Mellon University Pittsburgh, PA 15213 412-268-7803 @johnkitchin http://kitchingroup.cheme.cmu.edu ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [0] Run org-babel src block periodically 2016-01-03 22:30 ` John Kitchin @ 2016-01-08 7:44 ` Giri Prashanth 0 siblings, 0 replies; 3+ messages in thread From: Giri Prashanth @ 2016-01-08 7:44 UTC (permalink / raw) Cc: emacs-orgmode [-- Attachment #1: Type: text/plain, Size: 3028 bytes --] Thank you. This works great. -GP On Sun, Jan 3, 2016 at 2:30 PM, John Kitchin <jkitchin@andrew.cmu.edu> wrote: > This is kind of close to what you want I think (at least it updates > every 5 seconds for me, 5 times before it stops). You might adapt it to > do what you want. > > This is the block to run periodically. > #+name: time-string > #+BEGIN_SRC sh > date > top -o "cpu" -ncols 4 -l 1| head -n 15 > #+END_SRC > > #+RESULTS: time-string > #+begin_example > Sun Jan 3 17:28:27 EST 2016 > Processes: 225 total, 2 running, 3 stuck, 220 sleeping, 1110 threads > 2016/01/03 17:28:27 > Load Avg: 1.20, 1.51, 1.55 > CPU usage: 5.0% user, 22.50% sys, 72.50% idle > SharedLibs: 14M resident, 12M data, 0B linkedit. > MemRegions: 57263 total, 3092M resident, 72M private, 450M shared. > PhysMem: 6508M used (1098M wired), 1246M unused. > VM: 588G vsize, 1067M framework vsize, 6471076(0) swapins, 6831574(0) > swapouts. > Networks: packets: 190809878/201G in, 277243826/231G out. > Disks: 11873268/180G read, 10075469/265G written. > > PID COMMAND %CPU TIME > 96378 com.apple.InputM 0.0 00:00.26 > 96376 AppleSpell 0.0 00:00.68 > 96015 head 0.0 00:00.00 > #+end_example > > This function will update that block. We increment a counter and cancel > the timer when it is exceeded. > #+BEGIN_SRC emacs-lisp > (defun update-src-block (fname src-name N) > "Update the src-block named SRC-NAME in the file FNAME upto N times." > (if (> *counter* N) > (progn (cancel-timer *timer*) > (message-box "Done with timer")) > (save-excursion > (with-current-buffer (find-file-noselect fname) > (org-babel-goto-named-src-block src-name) > (org-babel-execute-src-block) > (incf *counter*))))) > #+END_SRC > > #+RESULTS: > : update-src-block > > We use a global var for the counter and timer. > #+BEGIN_SRC emacs-lisp > (setq *counter* 0) > (setq *timer* (run-with-timer > nil 5 > 'update-src-block > "/Users/jkitchin/ > blogofile-jkitchin.github.com/_blog/blog.org" > "time-string" > 5)) > #+END_SRC > > #+RESULTS: > : [nil 22153 41074 708648 5 update-src-block ("/Users/jkitchin/ > blogofile-jkitchin.github.com/_blog/blog.org" "time-string" 5) nil 0] > > > Giri Prashanth writes: > > > Hi, > > > > I would like to run a org-src block code periodically, is there any > > property for org-blocks for such repeated execution. > > > > For example if I want to watch the tail of a file periodically every 1 > min > > for next 1 hour, I would like to set a property like repeat for times to > > repeat and keep the org file auto updated > > > > #+BEGIN_SRC shell :repeat 60 :repeat-every 60sec > > tail -n 10 file > > #+END_SRC > > > > Thank you, > > -GP > > -- > Professor John Kitchin > Doherty Hall A207F > Department of Chemical Engineering > Carnegie Mellon University > Pittsburgh, PA 15213 > 412-268-7803 > @johnkitchin > http://kitchingroup.cheme.cmu.edu > -- -giri [-- Attachment #2: Type: text/html, Size: 4213 bytes --] ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2016-01-08 7:44 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-01-03 19:33 [0] Run org-babel src block periodically Giri Prashanth 2016-01-03 22:30 ` John Kitchin 2016-01-08 7:44 ` Giri Prashanth
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/emacs/org-mode.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).