3
我想每10秒執行一次函數。如何做到這一點最簡單的方法?在core.async中,有一個超時函數,這個函數將在最後等待時間,而我想要的是等待至少一次。什麼是在clojure中定期運行任務的最簡單方法
我想每10秒執行一次函數。如何做到這一點最簡單的方法?在core.async中,有一個超時函數,這個函數將在最後等待時間,而我想要的是等待至少一次。什麼是在clojure中定期運行任務的最簡單方法
at-at是我的最愛。下面的例子是從網頁複製:
(use 'overtone.at-at)
(def my-pool (mk-pool))
(at (+ 1000 (now)) #(println "hello from the past!") my-pool)
如果您在使用一般core.async,chime是偉大的。 再次,從他們的例子採取:
(:require [chime :refer [chime-ch]]
[clj-time.core :as t]
[clojure.core.async :as a :refer [<! go-loop]])
(let [chimes (chime-ch [(-> 2 t/secs t/from-now)
(-> 3 t/secs t/from-now)])]
(a/<!! (go-loop []
(when-let [msg (<! chimes)]
(prn "Chiming at:" msg)
(recur)))))
的[週期性調用Clojure中的功能]可能的複製(http://stackoverflow.com/questions/21404130/periodically-calling-a-function-in-clojure) – Shlomi