aury-boot 0.0.41__tar.gz → 0.0.43__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 (224) hide show
  1. {aury_boot-0.0.41 → aury_boot-0.0.43}/PKG-INFO +1 -1
  2. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/_version.py +2 -2
  3. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/redis.py +23 -9
  4. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/backends/redis_cluster.py +12 -0
  5. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/redis/manager.py +23 -7
  6. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/backends/redis_stream.py +17 -6
  7. {aury_boot-0.0.41 → aury_boot-0.0.43}/.gitignore +0 -0
  8. {aury_boot-0.0.41 → aury_boot-0.0.43}/README.md +0 -0
  9. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/__init__.py +0 -0
  10. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/__init__.py +0 -0
  11. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/__init__.py +0 -0
  12. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/base.py +0 -0
  13. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/config.py +0 -0
  14. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/decorators.py +0 -0
  15. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/exceptions.py +0 -0
  16. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/adapter/http.py +0 -0
  17. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/app/__init__.py +0 -0
  18. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/app/base.py +0 -0
  19. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/app/components.py +0 -0
  20. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/app/middlewares.py +0 -0
  21. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/app/startup.py +0 -0
  22. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/config/__init__.py +0 -0
  23. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/config/multi_instance.py +0 -0
  24. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/config/settings.py +0 -0
  25. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/constants/__init__.py +0 -0
  26. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/constants/components.py +0 -0
  27. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/constants/scheduler.py +0 -0
  28. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/constants/service.py +0 -0
  29. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/__init__.py +0 -0
  30. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/chain.py +0 -0
  31. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/codes.py +0 -0
  32. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/exceptions.py +0 -0
  33. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/handlers.py +0 -0
  34. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/errors/response.py +0 -0
  35. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/interfaces/__init__.py +0 -0
  36. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/interfaces/egress.py +0 -0
  37. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/interfaces/ingress.py +0 -0
  38. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/middleware/__init__.py +0 -0
  39. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/middleware/logging.py +0 -0
  40. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/migrations/__init__.py +0 -0
  41. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/migrations/manager.py +0 -0
  42. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/migrations/setup.py +0 -0
  43. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/rpc/__init__.py +0 -0
  44. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/rpc/base.py +0 -0
  45. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/rpc/client.py +0 -0
  46. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/rpc/discovery.py +0 -0
  47. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/scheduler/__init__.py +0 -0
  48. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/scheduler/runner.py +0 -0
  49. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/application/server/__init__.py +0 -0
  50. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/__init__.py +0 -0
  51. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/add.py +0 -0
  52. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/app.py +0 -0
  53. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/config.py +0 -0
  54. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/docker.py +0 -0
  55. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/docs.py +0 -0
  56. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/generate.py +0 -0
  57. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/init.py +0 -0
  58. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/migrate/__init__.py +0 -0
  59. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/migrate/app.py +0 -0
  60. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/migrate/commands.py +0 -0
  61. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/pkg.py +0 -0
  62. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/scheduler.py +0 -0
  63. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/server/__init__.py +0 -0
  64. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/server/app.py +0 -0
  65. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/generate/api.py.tpl +0 -0
  66. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/generate/model.py.tpl +0 -0
  67. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/generate/repository.py.tpl +0 -0
  68. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/generate/schema.py.tpl +0 -0
  69. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/generate/service.py.tpl +0 -0
  70. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/AGENTS.md.tpl +0 -0
  71. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/README.md.tpl +0 -0
  72. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/admin_console_init.py.tpl +0 -0
  73. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/alert_rules.example.yaml.tpl +0 -0
  74. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/00-overview.md.tpl +0 -0
  75. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/01-model.md.tpl +0 -0
  76. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/02-repository.md.tpl +0 -0
  77. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/03-service.md.tpl +0 -0
  78. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/04-schema.md.tpl +0 -0
  79. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/05-api.md.tpl +0 -0
  80. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/06-exception.md.tpl +0 -0
  81. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/07-cache.md.tpl +0 -0
  82. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/08-scheduler.md.tpl +0 -0
  83. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/09-tasks.md.tpl +0 -0
  84. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/10-storage.md.tpl +0 -0
  85. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/11-logging.md.tpl +0 -0
  86. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/12-admin.md.tpl +0 -0
  87. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/13-channel.md.tpl +0 -0
  88. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/14-mq.md.tpl +0 -0
  89. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/15-events.md.tpl +0 -0
  90. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/16-adapter.md.tpl +0 -0
  91. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/17-alerting.md.tpl +0 -0
  92. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/18-monitoring-profiling.md.tpl +0 -0
  93. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/aury_docs/99-cli.md.tpl +0 -0
  94. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/config.py.tpl +0 -0
  95. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/conftest.py.tpl +0 -0
  96. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/_header.tpl +0 -0
  97. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/admin.tpl +0 -0
  98. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/cache.tpl +0 -0
  99. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/database.tpl +0 -0
  100. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/log.tpl +0 -0
  101. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/messaging.tpl +0 -0
  102. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/monitoring.tpl +0 -0
  103. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/rpc.tpl +0 -0
  104. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/scheduler.tpl +0 -0
  105. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/service.tpl +0 -0
  106. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/storage.tpl +0 -0
  107. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/env_templates/third_party.tpl +0 -0
  108. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/gitignore.tpl +0 -0
  109. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/main.py.tpl +0 -0
  110. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/modules/api.py.tpl +0 -0
  111. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/modules/exceptions.py.tpl +0 -0
  112. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/modules/schedules.py.tpl +0 -0
  113. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/templates/project/modules/tasks.py.tpl +0 -0
  114. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/commands/worker.py +0 -0
  115. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/__init__.py +0 -0
  116. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/exceptions/__init__.py +0 -0
  117. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/i18n/__init__.py +0 -0
  118. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/i18n/translator.py +0 -0
  119. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/logging/__init__.py +0 -0
  120. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/logging/context.py +0 -0
  121. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/logging/decorators.py +0 -0
  122. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/logging/format.py +0 -0
  123. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/common/logging/setup.py +0 -0
  124. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/__init__.py +0 -0
  125. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/admin_console/__init__.py +0 -0
  126. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/admin_console/auth.py +0 -0
  127. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/admin_console/discovery.py +0 -0
  128. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/admin_console/install.py +0 -0
  129. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/contrib/admin_console/utils.py +0 -0
  130. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/__init__.py +0 -0
  131. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/exceptions/__init__.py +0 -0
  132. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/models/__init__.py +0 -0
  133. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/models/base.py +0 -0
  134. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/models/mixins.py +0 -0
  135. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/models/models.py +0 -0
  136. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/pagination/__init__.py +0 -0
  137. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/repository/__init__.py +0 -0
  138. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/repository/impl.py +0 -0
  139. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/repository/interceptors.py +0 -0
  140. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/repository/interface.py +0 -0
  141. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/repository/query_builder.py +0 -0
  142. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/service/__init__.py +0 -0
  143. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/service/base.py +0 -0
  144. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/domain/transaction/__init__.py +0 -0
  145. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/__init__.py +0 -0
  146. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/__init__.py +0 -0
  147. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/backends.py +0 -0
  148. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/base.py +0 -0
  149. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/exceptions.py +0 -0
  150. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/factory.py +0 -0
  151. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/manager.py +0 -0
  152. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/cache/memory.py +0 -0
  153. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/__init__.py +0 -0
  154. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/backends/__init__.py +0 -0
  155. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/backends/broadcaster.py +0 -0
  156. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/backends/redis_cluster_channel.py +0 -0
  157. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/base.py +0 -0
  158. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/channel/manager.py +0 -0
  159. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/__init__.py +0 -0
  160. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/rabbitmq/__init__.py +0 -0
  161. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/rabbitmq/config.py +0 -0
  162. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/rabbitmq/manager.py +0 -0
  163. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/redis/__init__.py +0 -0
  164. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/clients/redis/config.py +0 -0
  165. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/__init__.py +0 -0
  166. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/config.py +0 -0
  167. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/exceptions.py +0 -0
  168. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/manager.py +0 -0
  169. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/query_tools/__init__.py +0 -0
  170. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/database/strategies/__init__.py +0 -0
  171. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/di/__init__.py +0 -0
  172. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/di/container.py +0 -0
  173. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/__init__.py +0 -0
  174. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/backends/__init__.py +0 -0
  175. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/backends/broadcaster.py +0 -0
  176. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/backends/rabbitmq.py +0 -0
  177. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/base.py +0 -0
  178. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/manager.py +0 -0
  179. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/events/middleware.py +0 -0
  180. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/__init__.py +0 -0
  181. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/__init__.py +0 -0
  182. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/aggregator.py +0 -0
  183. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/events.py +0 -0
  184. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/manager.py +0 -0
  185. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/notifiers/__init__.py +0 -0
  186. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/notifiers/base.py +0 -0
  187. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/notifiers/feishu.py +0 -0
  188. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/notifiers/webhook.py +0 -0
  189. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/alerting/rules.py +0 -0
  190. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/health/__init__.py +0 -0
  191. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/profiling/__init__.py +0 -0
  192. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/__init__.py +0 -0
  193. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/context.py +0 -0
  194. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/logging.py +0 -0
  195. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/processor.py +0 -0
  196. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/provider.py +0 -0
  197. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/monitoring/tracing/tracing.py +0 -0
  198. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/__init__.py +0 -0
  199. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/backends/__init__.py +0 -0
  200. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/backends/rabbitmq.py +0 -0
  201. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/backends/redis.py +0 -0
  202. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/base.py +0 -0
  203. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/mq/manager.py +0 -0
  204. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/scheduler/__init__.py +0 -0
  205. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/scheduler/exceptions.py +0 -0
  206. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/scheduler/jobstores/__init__.py +0 -0
  207. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/scheduler/jobstores/redis_cluster.py +0 -0
  208. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/scheduler/manager.py +0 -0
  209. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/storage/__init__.py +0 -0
  210. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/storage/base.py +0 -0
  211. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/storage/exceptions.py +0 -0
  212. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/storage/factory.py +0 -0
  213. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/tasks/__init__.py +0 -0
  214. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/tasks/config.py +0 -0
  215. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/tasks/constants.py +0 -0
  216. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/tasks/exceptions.py +0 -0
  217. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/infrastructure/tasks/manager.py +0 -0
  218. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/testing/__init__.py +0 -0
  219. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/testing/base.py +0 -0
  220. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/testing/client.py +0 -0
  221. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/testing/factory.py +0 -0
  222. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/toolkit/__init__.py +0 -0
  223. {aury_boot-0.0.41 → aury_boot-0.0.43}/aury/boot/toolkit/http/__init__.py +0 -0
  224. {aury_boot-0.0.41 → aury_boot-0.0.43}/pyproject.toml +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: aury-boot
3
- Version: 0.0.41
3
+ Version: 0.0.43
4
4
  Summary: Aury Boot - 基于 FastAPI 生态的企业级 API 开发框架
5
5
  Requires-Python: >=3.13
6
6
  Requires-Dist: aiohttp>=3.11.0
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
28
28
  commit_id: COMMIT_ID
29
29
  __commit_id__: COMMIT_ID
30
30
 
31
- __version__ = version = '0.0.41'
32
- __version_tuple__ = version_tuple = (0, 0, 41)
31
+ __version__ = version = '0.0.43'
32
+ __version_tuple__ = version_tuple = (0, 0, 43)
33
33
 
34
34
  __commit_id__ = commit_id = None
@@ -96,15 +96,23 @@ class RedisCache(ICache):
96
96
  self._is_cluster = False
97
97
 
98
98
  async def _init_cluster(self) -> None:
99
- """初始化 Redis Cluster
99
+ """初始化 Redis Cluster(使用 coredis)。
100
100
 
101
101
  支持 URL 格式:
102
102
  - redis-cluster://password@host:port (密码在用户名位置)
103
103
  - redis-cluster://:password@host:port (标准格式)
104
104
  - redis-cluster://username:password@host:port (ACL 模式)
105
105
  """
106
- from redis.asyncio.cluster import RedisCluster
106
+ try:
107
+ from coredis import RedisCluster
108
+ from coredis.retry import ConstantRetryPolicy
109
+ from coredis.exceptions import ConnectionError as CoredisConnectionError
110
+ except ImportError as exc:
111
+ raise ImportError(
112
+ "Redis Cluster 需要安装 coredis: pip install coredis"
113
+ ) from exc
107
114
 
115
+ # 解析 URL
108
116
  parsed_url = self._url.replace("redis-cluster://", "redis://")
109
117
  parsed = urlparse(parsed_url)
110
118
 
@@ -112,18 +120,26 @@ class RedisCache(ICache):
112
120
  username = parsed.username
113
121
  password = parsed.password
114
122
 
115
- # 处理 password@host 格式(密码在用户名位置)
123
+ # 处理 password@host 格式
116
124
  if username and not password:
117
125
  password = username
118
126
  username = None
119
127
 
128
+ # 配置更快的重试策略
129
+ retry_policy = ConstantRetryPolicy(
130
+ retries=3,
131
+ delay=1,
132
+ retryable_exceptions=(CoredisConnectionError, TimeoutError, OSError),
133
+ )
134
+
120
135
  # 构建连接参数
121
136
  cluster_kwargs: dict = {
122
137
  "host": parsed.hostname or "localhost",
123
138
  "port": parsed.port or 6379,
124
139
  "decode_responses": False,
125
- "socket_connect_timeout": 5,
126
- "socket_timeout": 5,
140
+ "connect_timeout": 5,
141
+ "stream_timeout": 5,
142
+ "retry_policy": retry_policy,
127
143
  }
128
144
 
129
145
  if username:
@@ -250,10 +266,8 @@ class RedisCache(ICache):
250
266
  async def close(self) -> None:
251
267
  """关闭连接(仅当自己拥有连接时)。"""
252
268
  if self._redis and self._owns_connection:
253
- if self._is_cluster:
254
- await self._redis.aclose()
255
- else:
256
- await self._redis.close()
269
+ # coredis 和 redis-py 都使用 close() 方法
270
+ await self._redis.close()
257
271
  logger.info("Redis连接已关闭")
258
272
  self._redis = None
259
273
 
@@ -18,6 +18,8 @@ from aury.boot.common.logging import logger
18
18
 
19
19
  try:
20
20
  from coredis import RedisCluster
21
+ from coredis.retry import ConstantRetryPolicy
22
+ from coredis.exceptions import ConnectionError as CoredisConnectionError
21
23
  except ImportError as exc:
22
24
  raise ImportError(
23
25
  "Redis Cluster Channel 需要安装 coredis: pip install coredis"
@@ -41,11 +43,21 @@ class RedisClusterBackend:
41
43
  def __init__(self, url: str) -> None:
42
44
  host, port, password = self._parse_url(url)
43
45
 
46
+ # 配置更快的重试策略
47
+ retry_policy = ConstantRetryPolicy(
48
+ retries=3,
49
+ delay=1,
50
+ retryable_exceptions=(CoredisConnectionError, TimeoutError, OSError),
51
+ )
52
+
44
53
  self._client: RedisCluster = RedisCluster(
45
54
  host=host,
46
55
  port=port,
47
56
  password=password,
48
57
  decode_responses=True,
58
+ connect_timeout=5,
59
+ stream_timeout=5,
60
+ retry_policy=retry_policy,
49
61
  )
50
62
  self._pubsub: Any = None
51
63
  self._queue: asyncio.Queue[Event] = asyncio.Queue()
@@ -202,15 +202,23 @@ class RedisClient:
202
202
  self._is_cluster = False
203
203
 
204
204
  async def _initialize_cluster(self, url: str) -> None:
205
- """初始化 Redis Cluster 连接。
205
+ """初始化 Redis Cluster 连接(使用 coredis)。
206
206
 
207
207
  支持 URL 格式:
208
208
  - redis-cluster://password@host:port (密码在用户名位置)
209
209
  - redis-cluster://:password@host:port (标准格式)
210
210
  - redis-cluster://username:password@host:port (ACL 模式)
211
211
  """
212
- from redis.asyncio.cluster import RedisCluster
212
+ try:
213
+ from coredis import RedisCluster
214
+ from coredis.retry import ConstantRetryPolicy
215
+ from coredis.exceptions import ConnectionError as CoredisConnectionError
216
+ except ImportError as exc:
217
+ raise ImportError(
218
+ "Redis Cluster 需要安装 coredis: pip install coredis"
219
+ ) from exc
213
220
 
221
+ # 解析 URL
214
222
  parsed_url = url.replace("redis-cluster://", "redis://")
215
223
  parsed = urlparse(parsed_url)
216
224
 
@@ -218,19 +226,26 @@ class RedisClient:
218
226
  username = parsed.username
219
227
  password = parsed.password
220
228
 
221
- # 处理 password@host 格式(密码在用户名位置)
229
+ # 处理 password@host 格式
222
230
  if username and not password:
223
231
  password = username
224
232
  username = None
225
233
 
234
+ # 配置更快的重试策略(默认间隔太长)
235
+ retry_policy = ConstantRetryPolicy(
236
+ retries=3,
237
+ delay=1, # 1 秒重试间隔
238
+ retryable_exceptions=(CoredisConnectionError, TimeoutError, OSError),
239
+ )
240
+
226
241
  # 构建连接参数
227
242
  cluster_kwargs: dict = {
228
243
  "host": parsed.hostname or "localhost",
229
244
  "port": parsed.port or 6379,
230
245
  "decode_responses": self._config.decode_responses,
231
- "socket_timeout": self._config.socket_timeout,
232
- "socket_connect_timeout": self._config.socket_connect_timeout,
233
- "retry_on_timeout": self._config.retry_on_timeout,
246
+ "connect_timeout": self._config.socket_connect_timeout or 5,
247
+ "stream_timeout": self._config.socket_timeout or 5,
248
+ "retry_policy": retry_policy,
234
249
  }
235
250
 
236
251
  if username:
@@ -313,7 +328,8 @@ class RedisClient:
313
328
  """清理资源,关闭连接。"""
314
329
  if self._redis:
315
330
  if self._is_cluster:
316
- await self._redis.aclose()
331
+ # coredis 使用 close() 方法
332
+ await self._redis.close()
317
333
  else:
318
334
  await self._redis.close()
319
335
  logger.info(f"Redis 客户端 [{self.name}] 已关闭")
@@ -309,12 +309,23 @@ class RedisStreamMQ(IMQ):
309
309
  await self._ensure_client()
310
310
  stream_key = self._stream_key(queue)
311
311
 
312
- result = await self._client.connection.xrange(
313
- stream_key,
314
- min=start,
315
- max=end,
316
- count=count,
317
- )
312
+ # coredis 使用 start/end,redis-py 使用 min/max
313
+ if hasattr(self._client, 'is_cluster') and self._client.is_cluster:
314
+ # coredis API
315
+ result = await self._client.connection.xrange(
316
+ stream_key,
317
+ start=start,
318
+ end=end,
319
+ count=count,
320
+ )
321
+ else:
322
+ # redis-py API
323
+ result = await self._client.connection.xrange(
324
+ stream_key,
325
+ min=start,
326
+ max=end,
327
+ count=count,
328
+ )
318
329
 
319
330
  messages = []
320
331
  for msg_id, data in result:
File without changes
File without changes
File without changes