This is an automated email from the ASF dual-hosted git repository.

shuaijinchao pushed a commit to branch master
in repository 
https://gitbox.apache.org/repos/asf/apisix-python-plugin-runner.git

commit ee68ec6bc27f7161e19ce49f08b7ebb9b7dccfff
Author: Janko <[email protected]>
AuthorDate: Tue Aug 3 10:39:16 2021 +0800

    feat: add plugin cache module for runner.
---
 src/runner/plugin/cache.py | 38 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 38 insertions(+)

diff --git a/src/runner/plugin/cache.py b/src/runner/plugin/cache.py
new file mode 100644
index 0000000..d21665c
--- /dev/null
+++ b/src/runner/plugin/cache.py
@@ -0,0 +1,38 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+from minicache import cache
+
+RUNNER_CACHE_TOKEN = "RUNNER:CACHE:TOKEN"
+RUNNER_CACHE_ENTRY = "RUNNER:CACHE:ENTRY"
+
+
+def generateToken() -> int:
+    token = cache.get(RUNNER_CACHE_TOKEN, 0)
+    token = token + 1
+    cache.update(RUNNER_CACHE_TOKEN, token)
+    return token
+
+
+def setConfigByToken(token: int, configs: dict) -> bool:
+    cache_key = "%s:%s" % (RUNNER_CACHE_ENTRY, token)
+    cache.update(cache_key, configs)
+    return cache.has(cache_key)
+
+
+def getConfigByToken(token: int):
+    cache_key = "%s:%s" % (RUNNER_CACHE_ENTRY, token)
+    return cache.get(cache_key, {})

Reply via email to