ในการส่งออกมุมมองวาระการประชุมองค์กรในไฟล์ข้อความสำหรับการประมวลผลเพิ่มเติมฉันทำงาน(org-batch-store-agenda-views)
เป็นระยะเป็นงานแบตช์ Emacs ที่ดำเนินการโดย cron เนื่องจากมีค่าใช้จ่ายในการเริ่มต้นอินสแตนซ์ emacs เพื่อทำการเรียกใช้ฟังก์ชัน 500 ms หนึ่งครั้งฉันจึงต้องการให้อินสแตนซ์ที่ทำงานอยู่ตลอดเวลาของฉันทำเพื่อฉัน
มีไลบรารี Timersใน Emacs แต่ฟังก์ชั่นที่มีให้ไม่เรียกใช้ฟังก์ชันตามที่ต้องการ:
(run-with-idle-timer 2 1 'org-batch-store-agenda-views)
(run-at-time 5 5 'org-batch-store-agenda-views)
วิธีที่จะทำให้มันทำงานอย่างไร เป้าหมายสุดท้ายคือการปลูกสิ่งนี้ใน.emacs
init ของฉัน(ไม่ได้ผลเช่นกัน):
(let ((time-interval (* 60 10)))
(defvar my-org-agenda-updater-handle
(run-with-timer (random time-interval) time-interval
'org-batch-store-agenda-views)
"A timer object that denotes our running batch job."))
@verdammelt: เรียบง่ายจริงๆ
—
souser12345
'org-batch-store-agenda-views
เขียนวาระ ASCII ลงในไฟล์ (สิ่งเดียวกับC-c a e
) และมันจะไม่เขียนไฟล์เมื่อฉันทำให้ตัวจับเวลาทำงาน
(defun foo () (message "GO"))
จากนั้นดำเนินการ(run-at-time 5 5 'foo)
และเห็นข้อความที่ปรากฏใน*Messages*
บัฟเฟอร์จนกว่าฉันจะยกเลิกตัวจับเวลา