自动更新缓存任务执行状况/优化缓存相关文字提示

This commit is contained in:
GoEdgeLab
2022-06-15 15:47:43 +08:00
parent e0920c3b8a
commit 19ea8dc354
13 changed files with 85 additions and 47 deletions

View File

@@ -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()

View File

@@ -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
}

View File

@@ -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>

View File

@@ -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> &nbsp;
<radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
<radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio> &nbsp;
<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>

View File

@@ -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>

View File

@@ -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)
})
}
})

View File

@@ -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>

View File

@@ -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>

View File

@@ -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> &nbsp;
<radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
<radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio> &nbsp;
<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>

View File

@@ -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>

View File

@@ -18,19 +18,19 @@
<tr>
<td class="title">操作类型</td>
<td>
<radio name="keyType" :v-value="'key'" v-model="keyType">根据Key</radio> &nbsp;
<radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
<radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio> &nbsp;
<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>

View File

@@ -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>

View File

@@ -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> &nbsp;
<radio name="keyType" :v-value="'prefix'" v-model="keyType">根据前缀</radio>
<radio name="keyType" :v-value="'key'" v-model="keyType">URL</radio> &nbsp;
<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>