小编Ewr*_*wro的帖子

Flask-Caching 将 UWSGI 缓存与 NGINX 一起使用

UWSGI 通过 UNIX 套接字连接到 Flask 应用程序:

NGINX(监听端口 80)<-> UWSGI(每个 UNIX-SOCKER 的列表)<-> FLASK-APP

我已经初始化了一个 uwsgi 缓存来处理全局数据。我想使用 python 包 Flask-caching 来处理缓存。

我正在尝试使用正确的缓存地址初始化缓存实例。似乎有什么不对劲。我认为 app.run() 的参数与 uwsgi 无关。

如果我设置缓存条目,它总是返回 None:

app.route("/")
def test():
    cache.set("test", "OK", timeout=0)
    a = cache.get("test")
    return a
Run Code Online (Sandbox Code Playgroud)

主要.py

from flask import Flask
from flask_caching import Cache

app = Flask(__name__)
# Check Configuring Flask-Caching section for more details
cache = Cache(app, config={'CACHE_TYPE': 'uwsgi', 'CACHE_UWSGI_NAME':'mycache@localhost'})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)
Run Code Online (Sandbox Code Playgroud)

uwsgi.ini

[uwsgi]
module = main
callable = app
cache2 = name=mycache,items=100 …
Run Code Online (Sandbox Code Playgroud)

python nginx uwsgi flask-cache flask-caching

7
推荐指数
1
解决办法
2505
查看次数

通过 Jenkinsfile 中的变量从特定分支导入库

我想在 Jenkinsfile 中隐式加载共享库,而不是动态加载,但从每个变量中为共享库选择特定分支。出于测试目的,我尝试在每个属性变量的 @library 语句中插入变量。如果我直接在里面写分支名称,它会起作用。

#!/usr/bin/env groovy
properties([
    stringParam(name: 'BRANCH_NAME', defaultValue: 'master')
  ])
])

@Library("custom-shared-library@${params.BRANCH_NAME}")

import com.custom.test.utils.*

println("hello world!")
Run Code Online (Sandbox Code Playgroud)

收到以下错误消息:

WorkflowScript: @Library value ‘custom-shared-library@$params.BRANCH_NAME’ was not a constant; did you mean to use the ‘library’ step instead?

1 error

    at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
    at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
    at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
    at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
    at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
    at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
    at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
    at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
    at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:131)
    at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:125)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:560)
    at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:521)
    at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:319)
    at hudson.model.ResourceController.execute(ResourceController.java:97)
    at hudson.model.Executor.run(Executor.java:429)
Finished: FAILURE
Run Code Online (Sandbox Code Playgroud)

是否可以在@library()语句中插入变量?

shared-libraries jenkins jenkins-pipeline

6
推荐指数
1
解决办法
3376
查看次数

如何更改正在运行的 VSCode 扩展中的源代码

如何更改正在运行的 VSCode 扩展中的源代码?

我已经安装了 VSCode 扩展foam.foam-vscode链接)。
该扩展正在 VScode 中运行。

value出于实验原因,我想更改(链接到源代码)中的字符串。
我已经更改了下面的字符串
C:\Users\USERNAME\.vscode\extensions\foam.foam-vscode-0.19.1\out\services
然后我重新启动 VSCode 以查看更改。
但这一变化并不适用。我只看到旧的字符串值Title of my New Note

有任何想法吗?

async function resolveFoamTitle() {
  const title = await window.showInputBox({
    prompt: `Enter a title for the new note`,
    value: '### CHANGE THIS STRING ###',
    validateInput: value =>
      value.trim().length === 0 ? 'Please enter a title' : undefined,
  });
  if (title === undefined) {
    throw new UserCancelledOperation();
  }
  return title;
}
Run Code Online (Sandbox Code Playgroud)

visual-studio-code vscode-extensions

5
推荐指数
1
解决办法
3288
查看次数