mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 05:00:25 +08:00 
			
		
		
		
	自动更新缓存任务执行状况/优化缓存相关文字提示
This commit is contained in:
		@@ -16,7 +16,7 @@ func init() {
 | 
			
		||||
			GetPost("", new(IndexAction)).
 | 
			
		||||
			GetPost("/fetch", new(FetchAction)).
 | 
			
		||||
			Get("/tasks", new(TasksAction)).
 | 
			
		||||
			Get("/task", new(TaskAction)).
 | 
			
		||||
			GetPost("/task", new(TaskAction)).
 | 
			
		||||
			Post("/deleteTask", new(DeleteTaskAction)).
 | 
			
		||||
			Post("/resetTask", new(ResetTaskAction)).
 | 
			
		||||
			EndAll()
 | 
			
		||||
 
 | 
			
		||||
@@ -29,14 +29,32 @@ func (this *TaskAction) RunGet(params struct {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	taskResp, err := this.RPC().HTTPCacheTaskRPC().FindEnabledHTTPCacheTask(this.AdminContext(), &pb.FindEnabledHTTPCacheTaskRequest{HttpCacheTaskId: params.TaskId})
 | 
			
		||||
	if !this.readTask(params.TaskId) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (this *TaskAction) RunPost(params struct {
 | 
			
		||||
	TaskId int64
 | 
			
		||||
}) {
 | 
			
		||||
	if !this.readTask(params.TaskId) {
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	this.Success()
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// 读取任务信息
 | 
			
		||||
func (this *TaskAction) readTask(taskId int64) (ok bool) {
 | 
			
		||||
	taskResp, err := this.RPC().HTTPCacheTaskRPC().FindEnabledHTTPCacheTask(this.AdminContext(), &pb.FindEnabledHTTPCacheTaskRequest{HttpCacheTaskId: taskId})
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		this.ErrorPage(err)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
	var task = taskResp.HttpCacheTask
 | 
			
		||||
	if task == nil {
 | 
			
		||||
		this.NotFound("HTTPCacheTask", params.TaskId)
 | 
			
		||||
		this.NotFound("HTTPCacheTask", taskId)
 | 
			
		||||
		return
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -101,5 +119,6 @@ func (this *TaskAction) RunGet(params struct {
 | 
			
		||||
		"user":        userMap,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.Show()
 | 
			
		||||
	ok = true
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -5,10 +5,10 @@
 | 
			
		||||
    <csrf-token></csrf-token>
 | 
			
		||||
    <table class="ui table definition selectable">
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td>要预热的Key列表</td>
 | 
			
		||||
            <td>要预热的URL列表</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <textarea name="keys" rows="10" ref="focus"></textarea>
 | 
			
		||||
                <p class="comment">每行一个Key。</p>
 | 
			
		||||
                <p class="comment">每行一个URL。</p>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,21 +7,21 @@
 | 
			
		||||
    <csrf-token></csrf-token>
 | 
			
		||||
    <table class="ui table definition selectable">
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td class="title">缓存Key类型</td>
 | 
			
		||||
            <td class="title">URL类型</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <radio name="keyType" :v-value="'key'" v-model="keyType">根据Key</radio>  
 | 
			
		||||
                <radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
 | 
			
		||||
                <radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio>  
 | 
			
		||||
                <radio name="keyType" :v-value="'prefix'" v-model="keyType">目录</radio>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td>
 | 
			
		||||
                <span v-if="keyType == 'key'">要刷新的Key列表</span>
 | 
			
		||||
                <span v-if="keyType == 'prefix'">要刷新的Key前缀列表</span>
 | 
			
		||||
                <span v-if="keyType == 'key'">要刷新的URL列表</span>
 | 
			
		||||
                <span v-if="keyType == 'prefix'">要刷新的URL目录列表</span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <textarea name="keys" rows="10" ref="keysBox"></textarea>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'key'">每行一个Key,比如是一个完整的URL<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'prefix'">每行一个Key前缀,比如是一个URL前缀<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'key'">每行一个URL,比如<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'prefix'">每行一个URL目录,比如<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -20,10 +20,10 @@
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>Key类型</td>
 | 
			
		||||
        <td>缓存URL类型</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="task.keyType == 'key'">URL</span>
 | 
			
		||||
            <span v-if="task.keyType == 'prefix'">前缀</span>
 | 
			
		||||
            <span v-if="task.keyType == 'prefix'">目录</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,4 +1,8 @@
 | 
			
		||||
Tea.context(function () {
 | 
			
		||||
	this.$delay(function () {
 | 
			
		||||
		this.reload()
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	this.deleteTask = function (taskId) {
 | 
			
		||||
		teaweb.confirm("确定要删除此任务吗?", function () {
 | 
			
		||||
			this.$post(".deleteTask")
 | 
			
		||||
@@ -20,4 +24,19 @@ Tea.context(function () {
 | 
			
		||||
				.refresh()
 | 
			
		||||
		})
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	this.reload = function () {
 | 
			
		||||
		this.$post("$")
 | 
			
		||||
			.params({
 | 
			
		||||
				taskId: this.task.id
 | 
			
		||||
			})
 | 
			
		||||
			.success(function (resp) {
 | 
			
		||||
				this.task = resp.data.task
 | 
			
		||||
			})
 | 
			
		||||
			.done(function () {
 | 
			
		||||
				this.$delay(function () {
 | 
			
		||||
					this.reload()
 | 
			
		||||
				}, 10000)
 | 
			
		||||
			})
 | 
			
		||||
	}
 | 
			
		||||
})
 | 
			
		||||
@@ -8,7 +8,7 @@
 | 
			
		||||
        <tr>
 | 
			
		||||
            <th style="width: 7em">任务编号</th>
 | 
			
		||||
            <th>任务类型</th>
 | 
			
		||||
            <th>Key类型</th>
 | 
			
		||||
            <th>URL类型</th>
 | 
			
		||||
            <th>创建时间</th>
 | 
			
		||||
            <th class="four wide">所属用户</th>
 | 
			
		||||
            <th class="two wide">任务状态</th>
 | 
			
		||||
 
 | 
			
		||||
@@ -5,10 +5,10 @@
 | 
			
		||||
    <input type="hidden" name="cachePolicyId" :value="cachePolicyId"/>
 | 
			
		||||
    <table class="ui table definition selectable">
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td>Key列表</td>
 | 
			
		||||
            <td>URL列表</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <textarea name="keys" rows="10" ref="focus"></textarea>
 | 
			
		||||
                <p class="comment">每行一个Key。</p>
 | 
			
		||||
                <p class="comment">每行一个URL。</p>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -1,26 +1,26 @@
 | 
			
		||||
{$layout}
 | 
			
		||||
{$template "policy_menu"}
 | 
			
		||||
 | 
			
		||||
<p class="comment">可以在这里批量删除一组Key。</p>
 | 
			
		||||
<p class="comment">可以在这里批量刷新一组URL。</p>
 | 
			
		||||
<form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="300">
 | 
			
		||||
    <input type="hidden" name="cachePolicyId" :value="cachePolicyId"/>
 | 
			
		||||
    <table class="ui table definition selectable">
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td class="title">操作类型</td>
 | 
			
		||||
            <td class="title">URL类型</td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <radio name="keyType" :v-value="'key'" v-model="keyType">根据Key</radio>  
 | 
			
		||||
                <radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
 | 
			
		||||
                <radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio>  
 | 
			
		||||
                <radio name="keyType" :v-value="'prefix'" v-model="keyType">目录</radio>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
            <td>
 | 
			
		||||
                <span v-if="keyType == 'key'">Key列表</span>
 | 
			
		||||
                <span v-if="keyType == 'prefix'">Key前缀列表</span>
 | 
			
		||||
                <span v-if="keyType == 'key'">URL</span>
 | 
			
		||||
                <span v-if="keyType == 'prefix'">目录</span>
 | 
			
		||||
            </td>
 | 
			
		||||
            <td>
 | 
			
		||||
                <textarea name="keys" rows="10" ref="keysBox"></textarea>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'key'">每行一个Key,比如是一个完整的URL<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'prefix'">每行一个Key前缀,比如是一个URL前缀<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'key'">每行一个URL,比如<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                <p class="comment" v-if="keyType == 'prefix'">每行一个URL目录,比如<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
            </td>
 | 
			
		||||
        </tr>
 | 
			
		||||
        <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -9,16 +9,16 @@
 | 
			
		||||
        <p class="comment">没有开启缓存,不需要清理。</p>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div v-show="webConfig.cache != null && webConfig.cache.isOn">
 | 
			
		||||
        <p class="comment">可以在这里批量预热一组Key。</p>
 | 
			
		||||
        <p class="comment">可以在这里批量预热一组缓存URL。</p>
 | 
			
		||||
        <form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="3600">
 | 
			
		||||
            <input type="hidden" name="serverId" :value="serverId"/>
 | 
			
		||||
            <input type="hidden" name="webId" :value="webId"/>
 | 
			
		||||
            <table class="ui table definition selectable">
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>Key列表</td>
 | 
			
		||||
                    <td>URL列表</td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <textarea name="keys" rows="10" ref="focus"></textarea>
 | 
			
		||||
                        <p class="comment">每行一个Key。</p>
 | 
			
		||||
                        <p class="comment">每行一个URL。</p>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -18,19 +18,19 @@
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td class="title">操作类型</td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <radio name="keyType" :v-value="'key'" v-model="keyType">根据Key</radio>  
 | 
			
		||||
                        <radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
 | 
			
		||||
                        <radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio>  
 | 
			
		||||
                        <radio name="keyType" :v-value="'prefix'" v-model="keyType">目录</radio>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <span v-if="keyType == 'key'">Key列表</span>
 | 
			
		||||
                        <span v-if="keyType == 'prefix'">Key前缀列表</span>
 | 
			
		||||
                        <span v-if="keyType == 'key'">URL</span>
 | 
			
		||||
                        <span v-if="keyType == 'prefix'">目录</span>
 | 
			
		||||
                    </td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <textarea name="keys" rows="10" ref="keysBox"></textarea>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'key'">每行一个Key,比如是一个完整的URL<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'prefix'">每行一个Key前缀,比如是一个URL前缀<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'key'">每行一个URL,比如<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'prefix'">每行一个URL目录,比如<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -10,16 +10,16 @@
 | 
			
		||||
        <p class="comment">没有开启缓存,暂时无法预热缓存。</p>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div v-show="webConfig.cache != null && webConfig.cache.isOn">
 | 
			
		||||
        <p class="comment">可以在这里批量预热一组Key。</p>
 | 
			
		||||
        <p class="comment">可以在这里批量预热一组URL。</p>
 | 
			
		||||
        <form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="3600">
 | 
			
		||||
            <input type="hidden" name="serverId" :value="serverId"/>
 | 
			
		||||
            <input type="hidden" name="webId" :value="webId"/>
 | 
			
		||||
            <table class="ui table definition selectable">
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>Key列表</td>
 | 
			
		||||
                    <td>URL列表</td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <textarea name="keys" rows="10" ref="focus"></textarea>
 | 
			
		||||
                        <p class="comment">每行一个Key。</p>
 | 
			
		||||
                        <p class="comment">每行一个URL。</p>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
 
 | 
			
		||||
@@ -7,31 +7,31 @@
 | 
			
		||||
 | 
			
		||||
    <div class="margin"></div>
 | 
			
		||||
    <div v-show="webConfig.cache == null || !webConfig.cache.isOn">
 | 
			
		||||
        <p class="comment">没有开启缓存,不需要清理。</p>
 | 
			
		||||
        <p class="comment">没有开启缓存,不需要刷新。</p>
 | 
			
		||||
    </div>
 | 
			
		||||
    <div v-show="webConfig.cache != null && webConfig.cache.isOn">
 | 
			
		||||
        <p class="comment">可以在这里批量删除一组Key。</p>
 | 
			
		||||
        <p class="comment">可以在这里批量刷新一组URL缓存。</p>
 | 
			
		||||
 | 
			
		||||
        <form method="post" class="ui form" data-tea-action="$" data-tea-before="before" data-tea-success="success" data-tea-fail="fail" data-tea-done="done" data-tea-timeout="300">
 | 
			
		||||
            <input type="hidden" name="serverId" :value="serverId"/>
 | 
			
		||||
            <input type="hidden" name="webId" :value="webId"/>
 | 
			
		||||
            <table class="ui table definition selectable">
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td class="title">操作类型</td>
 | 
			
		||||
                    <td class="title">URL类型</td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <radio name="keyType" :v-value="'key'" v-model="keyType">根据Key</radio>  
 | 
			
		||||
                        <radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
 | 
			
		||||
                        <radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio>  
 | 
			
		||||
                        <radio name="keyType" :v-value="'prefix'" v-model="keyType">目录</radio>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <span v-if="keyType == 'key'">Key列表</span>
 | 
			
		||||
                        <span v-if="keyType == 'prefix'">Key前缀列表</span>
 | 
			
		||||
                        <span v-if="keyType == 'key'">URL</span>
 | 
			
		||||
                        <span v-if="keyType == 'prefix'">目录</span>
 | 
			
		||||
                    </td>
 | 
			
		||||
                    <td>
 | 
			
		||||
                        <textarea name="keys" rows="10" ref="keysBox"></textarea>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'key'">每行一个Key,比如是一个完整的URL<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'prefix'">每行一个Key前缀,比如是一个URL前缀<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'key'">每行一个URL,比如<code-label>https://example.com/hello/world.html</code-label>。</p>
 | 
			
		||||
                        <p class="comment" v-if="keyType == 'prefix'">每行一个URL目录,比如<code-label>https://example.com/hello/</code-label>。</p>
 | 
			
		||||
                    </td>
 | 
			
		||||
                </tr>
 | 
			
		||||
                <tr>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user