lesscode-flask 0.1.63__tar.gz → 0.1.65__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/PKG-INFO +1 -1
  2. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/__init__.py +1 -1
  3. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/app.py +2 -1
  4. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/setup/__init__.py +22 -1
  5. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/task/task_helper.py +22 -6
  6. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask.egg-info/PKG-INFO +1 -1
  7. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/README.md +0 -0
  8. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/db/__init__.py +0 -0
  9. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/db/datasource.py +0 -0
  10. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/db/executor.py +0 -0
  11. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/export_data/__init__.py +0 -0
  12. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/export_data/data_download_handler.py +0 -0
  13. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/log/access_log_handler.py +0 -0
  14. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/access_log.py +0 -0
  15. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/base_model.py +0 -0
  16. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/parameterized_query.py +0 -0
  17. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/resource_param_template.py +0 -0
  18. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/response_result.py +0 -0
  19. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/model/user.py +0 -0
  20. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/service/access_log_service.py +0 -0
  21. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/service/base_service.py +0 -0
  22. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/service/resource_param_template_service.py +0 -0
  23. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/setting/__init__.py +0 -0
  24. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/signals.py +0 -0
  25. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/static/swagger.py +0 -0
  26. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/__init__.py +0 -0
  27. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/decorator/__init__.py +0 -0
  28. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/decorator/cache.py +0 -0
  29. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/decorator/swagger.py +0 -0
  30. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/file/file_exporter.py +0 -0
  31. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/file/file_utils.py +0 -0
  32. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/helpers.py +0 -0
  33. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/json/NotSortJSONProvider.py +0 -0
  34. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/oss/__init__.py +0 -0
  35. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/oss/ks3_oss.py +0 -0
  36. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/redis/redis_helper.py +0 -0
  37. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/request/request.py +0 -0
  38. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/swagger/swagger_template.py +0 -0
  39. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/swagger/swagger_util.py +0 -0
  40. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/task/__init__.py +0 -0
  41. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/utils/thread/thread_utils.py +0 -0
  42. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask/wsgi.py +0 -0
  43. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask.egg-info/SOURCES.txt +0 -0
  44. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask.egg-info/dependency_links.txt +0 -0
  45. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask.egg-info/requires.txt +0 -0
  46. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/lesscode_flask.egg-info/top_level.txt +0 -0
  47. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/__init__.py +0 -0
  48. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/clickhouse.py +0 -0
  49. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/elasticsearch.py +0 -0
  50. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/kingbase.py +0 -0
  51. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/mysql.py +0 -0
  52. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/query_runner/pg.py +0 -0
  53. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/settings/__init__.py +0 -0
  54. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/settings/helpers.py +0 -0
  55. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/utils/__init__.py +0 -0
  56. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/redash/utils/requests_session.py +0 -0
  57. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/setup.cfg +0 -0
  58. {lesscode_flask-0.1.63 → lesscode_flask-0.1.65}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.1.63
3
+ Version: 0.1.65
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy
@@ -1,4 +1,4 @@
1
- __version__ = '0.1.63'
1
+ __version__ = '0.1.65'
2
2
 
3
3
  import functools
4
4
  import logging
@@ -18,7 +18,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix
18
18
  from lesscode_flask.model.response_result import ResponseResult
19
19
  from lesscode_flask.setup import setup_blueprint, setup_logging, setup_query_runner, setup_swagger, setup_sql_alchemy, \
20
20
  setup_redis, setup_login_manager, setup_resource_register, setup_data_download, setup_scheduler, \
21
- setup_common_resource
21
+ setup_common_resource, setup_task
22
22
  from lesscode_flask.signals import app_runed
23
23
  from lesscode_flask.utils.helpers import inject_args, generate_uuid, app_config
24
24
  from lesscode_flask.utils.json.NotSortJSONProvider import NotSortJSONProvider
@@ -151,6 +151,7 @@ class Lesscoder(Flask):
151
151
  setup_resource_register(self)
152
152
  setup_data_download(self)
153
153
  setup_scheduler(self)
154
+ setup_task(self)
154
155
 
155
156
  # setup_static(self)
156
157
 
@@ -430,6 +430,27 @@ def setup_data_download(app):
430
430
  return url
431
431
 
432
432
 
433
+ def setup_task(app):
434
+ task_routes = SQ_Blueprint("后台任务", url_prefix=f'{app.config.get("ROUTE_PREFIX", "")}')
435
+
436
+ @task_routes.post_route(f"运行任务", methods=['POST'])
437
+ def task_run(func_key: str, task_params: dict = None):
438
+ print(request.headers)
439
+ module, qualname = func_key.split(":")
440
+ m = import_module(module)
441
+ func = m
442
+ if "." in qualname:
443
+ tmp = qualname.split(".")
444
+ for t in tmp:
445
+ func = getattr(func, t)
446
+ else:
447
+ func = getattr(m, qualname)
448
+ task_params = task_params or dict()
449
+ func(**task_params)
450
+
451
+ app.register_blueprint(task_routes)
452
+
453
+
433
454
  def setup_scheduler(app):
434
455
  if current_app.config.get("SCHEDULER_ENABLE", False):
435
456
  try:
@@ -517,7 +538,7 @@ def setup_common_resource(app):
517
538
  """
518
539
  headers = {key: value for key, value in request.headers if key.lower() != 'host'}
519
540
  template_code = app_config.get("ICP_RESOURCE_PROXY_SMS_TEMPLATE_CODE")
520
- sign_name = app_config.get("SMS_TEMPLATE").get("template_code", {}).get("sign_name")
541
+ sign_name = app_config.get("SMS_TEMPLATE").get(template_code, {}).get("sign_name")
521
542
  result = capacity_get("/oauth/sms", headers=headers, params={
522
543
  "phone_no": phone_no,
523
544
  "template_code": template_code,
@@ -1,5 +1,8 @@
1
1
  import importlib
2
2
 
3
+ from flask import request
4
+ from requests import post
5
+
3
6
  from lesscode_flask.app import current_app
4
7
 
5
8
 
@@ -8,7 +11,7 @@ class TaskHelper:
8
11
  def add_job(func, trigger=None, args=None, kwargs=None, id=None, name=None,
9
12
  misfire_grace_time=None, coalesce=None, max_instances=None,
10
13
  next_run_time=None, jobstore='default', executor='default',
11
- replace_existing=False, **trigger_args):
14
+ replace_existing=False, is_add_ctx=False, **trigger_args):
12
15
  try:
13
16
  util = importlib.import_module("apscheduler.util")
14
17
  except ImportError:
@@ -22,11 +25,24 @@ class TaskHelper:
22
25
  if next_run_time is None:
23
26
  next_run_time = util.undefined
24
27
  scheduler = getattr(current_app, 'apscheduler')
25
- job = scheduler.add_job(func=func, trigger=trigger, args=args, kwargs=kwargs, id=id, name=name,
26
- misfire_grace_time=misfire_grace_time, coalesce=coalesce,
27
- max_instances=max_instances,
28
- next_run_time=next_run_time, jobstore=jobstore, executor=executor,
29
- replace_existing=replace_existing, **trigger_args)
28
+ if is_add_ctx:
29
+ _func = post
30
+ _kwargs = {
31
+ "url": f"http://127.0.0.1:{current_app.config.get('PORT')}{current_app.config.get('ROUTE_PREFIX')}/task_run",
32
+ "json": {"func_key": f"{func.__module__}:{func.__qualname__}",
33
+ "task_params": kwargs, },
34
+ "headers": dict(request.headers)}
35
+ job = scheduler.add_job(func=_func, trigger=trigger, args=args, kwargs=_kwargs, id=id, name=name,
36
+ misfire_grace_time=misfire_grace_time, coalesce=coalesce,
37
+ max_instances=max_instances,
38
+ next_run_time=next_run_time, jobstore=jobstore, executor=executor,
39
+ replace_existing=replace_existing, **trigger_args)
40
+ else:
41
+ job = scheduler.add_job(func=func, trigger=trigger, args=args, kwargs=kwargs, id=id, name=name,
42
+ misfire_grace_time=misfire_grace_time, coalesce=coalesce,
43
+ max_instances=max_instances,
44
+ next_run_time=next_run_time, jobstore=jobstore, executor=executor,
45
+ replace_existing=replace_existing, **trigger_args)
30
46
  return job
31
47
 
32
48
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: lesscode-flask
3
- Version: 0.1.63
3
+ Version: 0.1.65
4
4
  Summary: lesscode-flask 是基于flask的web开发脚手架项目,该项目初衷为简化开发过程,让研发人员更加关注业务。
5
5
  Home-page: https://lesscode-flask
6
6
  Author: Chao.yy