<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      Go Revel - Jobs(任務調度模塊)

      revel提供了一個框架用于脫離請求流程的執行異步任務,一般用來執行經常運行的任務、更新緩存數據或發送郵件等。 ##啟用 該框架作為一個可選的revel模塊,默認并不啟用。需要更改應用配置來啟用它: module.jobs = github.com/robfig/revel/modules/jobs 此外,為了訪問任務監控頁面,需要將下面添加至路由配置: module:jobs 這條語句將在路由配置中加入`/@jobs`地址 ##參數 一些選項告訴jobs框架在運行任務時應該具有什么樣的限制,下面是默認值: jobs.pool = 10 # 允許同時執行多少個任務 jobs.selfconcurrent = false # 允許一個任務只有在前一個實例完成后才能運行 ##啟動任務 使用`revel.OnAppStart`函數在程序開始運行時啟動一個任務,revel將在啟動服務器之前連續的運行這些任務。注意,此功能并不是用jobs模塊,但是它可以用來提交一個jobs作業而不終端服務器的啟動。 func init() { revel.OnAppStart(func() { jobs.Now(populateCache{}) }) } ##經常性的任務 任務可以被任何時間表調度,有兩個方法來表示時間表: 1、一個cron表達式 2、一個固定的時間間隔 revel使用`cron`來處理cron表達式并執行任務,這里對`cron`的格式進行了詳細的說明: https://github.com/robfig/cron/blob/master/README.md 任務通常在`revel.OnAppStart`處理器注冊,但也可以在之后的任何時間來注冊一個任務。 import ( "github.com/robfig/revel" "github.com/robfig/revel/modules/jobs/app/jobs" "time" ) type ReminderEmails struct { // 省略 } func (e ReminderEmails) Run() { // 查詢數據庫 // 發送一些郵件 } func init() { revel.OnAppStart(func() { jobs.Schedule("0 0 0 * * ?", ReminderEmails{}) jobs.Schedule("@midnight", ReminderEmails{}) jobs.Schedule("@every 24h", ReminderEmails{}) jobs.Every(24 * time.Hour, ReminderEmails{}) }) } ##命名的調度器 可以在`app.conf`定義一個調度器,然后在任何地方引用它,這樣有助于提供容易理解并且可重用的調度器。 在`app.conf`定義一個命名的調度器: cron.workhours_15m = 0 */15 9-17 ? * MON-FRI 在任何地方使用命名的調度器來設置cron描述表達式: func init() { revel.OnAppStart(func() { jobs.Schedule("cron.workhours_15m", ReminderEmails{}) }) } 注意,自定義的調度器名稱必須以`cron.`開頭。 ##一次性任務 有時,相應用戶的請求需要做一些事,jobs模塊允許提交一個單次執行的任務。 type AppController struct { *revel.Controller } func (c AppController) Action() revel.Result { // 處理請求. ... // 現在異步的發送郵件 jobs.Now(SendConfirmationEmail{}) //或者在單位時間之后再異步的發送郵件 jobs.In(time.Minute, SendConfirmationEmail{}) } ##注冊函數 也可以將`func()`方式的函數使用`jobs.Func`類型包裝并當作一個任務: func sendReminderEmails() { // 查詢數據庫 // 發送郵件 } func init() { revel.OnAppStart(func() { jobs.Schedule("@midnight", jobs.Func(sendReminderEmails)) }) } ##任務狀態 jobs模塊提供了一個狀態頁面用來顯示所有的任務調度,以及它們的狀態(IDLE 空閑 或 RUNNING 運行)還有它們上一次以及下一次的運行時間。 ![jobs](http://robfig.github.io/revel/img/jobs-status.png "jobs") 安全起見,只有請求來自`127.0.0.1`的時候,次頁面才被顯示。 ##受限的任務池 可以設置jobs任務池大小用來限制同一時間運行任務的數量,這可以允許開發人員限制異步任務所使用的資源 - 如果常規的交互響應權重高于異步處理。如果任務池中正在運行的任務滿了,那么新的任務會被阻塞直到池中有任務完成。 ##開發相關 1、允許以HTTP基本的驗證方式訪問任務狀態頁面 2、允許系統管理員在任務狀態頁面以交互方式運行調度任務 3、為任務的運行提供能多的可視化效果,如池大小,隊列長度

      posted on 2013-08-20 16:46  黑暗伯爵  閱讀(3669)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 亚洲国产精品高清线久久| 无码国产精品一区二区av| 久久9精品区-无套内射无码| 九九热在线视频只有精品| 国产旡码高清一区二区三区| 国产一区二区不卡在线视频| 国产精品久久久久久福利69堂| 亚洲丰满老熟女激情av| 潜江市| 亚洲av第三区国产精品| 人妻少妇偷人一区二区| 国内自拍小视频在线看| 本免费Av无码专区一区| 亚洲一区二区三区影院| 双江| 九九九国产精品成人免费视频| 国产成人乱色伦区| 国产按头口爆吞精在线视频| 激情综合网激情五月我去也| 在线播放深夜精品三级| 亚洲欧美一区二区成人片| 国内熟妇人妻色在线视频| 亚洲深夜精品在线观看| 国产精品一区二区三区色| 国产美女午夜福利视频| 亚洲狠狠婷婷综合久久久久图片| 午夜免费无码福利视频麻豆| 亚洲美女av一区二区| 国产精品美女久久久| 九九热爱视频精品视频| 岛国一区二区三区高清视频| 黄色段片一区二区三区| 亚洲成人av在线高清| 人妻丰满熟妇av无码区| 夜夜添狠狠添高潮出水| 国产亚洲精品一区二区无| 国产午夜福利小视频合集| 性欧美乱熟妇xxxx白浆| 成人拍拍拍无遮挡免费视频| 潍坊市| 国产美女免费永久无遮挡|