onestep 0.3.8__tar.gz → 0.3.9__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.

Potentially problematic release.


This version of onestep might be problematic. Click here for more details.

Files changed (26) hide show
  1. {onestep-0.3.8 → onestep-0.3.9}/PKG-INFO +1 -1
  2. {onestep-0.3.8 → onestep-0.3.9}/pyproject.toml +1 -1
  3. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/__init__.py +1 -3
  4. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/exception.py +8 -0
  5. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/onestep.py +1 -0
  6. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/signal.py +1 -0
  7. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/worker.py +7 -3
  8. {onestep-0.3.8 → onestep-0.3.9}/README.md +0 -0
  9. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/_utils.py +0 -0
  10. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/__init__.py +0 -0
  11. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/base.py +0 -0
  12. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/cron.py +0 -0
  13. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/memory.py +0 -0
  14. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/rabbitmq.py +0 -0
  15. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/redis/__init__.py +0 -0
  16. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/redis/pubsub.py +0 -0
  17. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/redis/stream.py +0 -0
  18. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/broker/webhook.py +0 -0
  19. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/cli.py +0 -0
  20. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/message.py +0 -0
  21. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/middleware/__init__.py +0 -0
  22. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/middleware/base.py +0 -0
  23. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/middleware/config.py +0 -0
  24. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/middleware/unique.py +0 -0
  25. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/retry.py +0 -0
  26. {onestep-0.3.8 → onestep-0.3.9}/src/onestep/state.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: onestep
3
- Version: 0.3.8
3
+ Version: 0.3.9
4
4
  Summary:
5
5
  Author: miclon
6
6
  Author-email: jcnd@163.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "onestep"
3
- version = "0.3.8"
3
+ version = "0.3.9"
4
4
  description = ""
5
5
  authors = ["miclon <jcnd@163.com>"]
6
6
  readme = "README.md"
@@ -23,8 +23,6 @@ __all__ = [
23
23
  # broker
24
24
  'BaseBroker',
25
25
  'BaseConsumer',
26
- 'BaseLocalBroker',
27
- 'BaseLocalConsumer',
28
26
  'MemoryBroker',
29
27
  'RabbitMQBroker',
30
28
  'WebHookBroker',
@@ -61,4 +59,4 @@ __all__ = [
61
59
  '__version__'
62
60
  ]
63
61
 
64
- __version__ = '0.3.8'
62
+ __version__ = '0.3.9'
@@ -25,3 +25,11 @@ class RetryInLocal(RetryException):
25
25
 
26
26
  class DropMessage(Exception):
27
27
  """从 Brokers 中 丢弃该消息"""
28
+
29
+
30
+ class RejectMessage(DropMessage):
31
+ """从 Brokers 中 丢弃该消息"""
32
+
33
+
34
+ class RequeueMessage(Exception):
35
+ """重新入队该消息"""
@@ -241,6 +241,7 @@ class step:
241
241
  }
242
242
 
243
243
  def __call__(self, func, *_args, **_kwargs):
244
+ func.__step_params__ = self.params
244
245
  if iscoroutinefunction(func) or isasyncgenfunction(func):
245
246
  os = AsyncOneStep(fn=func, **self.params)
246
247
  else:
@@ -8,3 +8,4 @@ message_sent = signal("message_sent")
8
8
  message_consumed = signal("message_consumed")
9
9
  message_error = signal("message_error")
10
10
  message_drop = signal("message_drop")
11
+ message_requeue = signal("message_requeue")
@@ -14,8 +14,8 @@ from asgiref.sync import async_to_sync
14
14
  from .message import Message
15
15
  from .retry import RetryStatus
16
16
  from .broker import BaseBroker
17
- from .exception import DropMessage
18
- from .signal import message_received, message_consumed, message_error, message_drop
17
+ from . import exception
18
+ from .signal import message_received, message_consumed, message_error, message_drop, message_requeue
19
19
 
20
20
  logger = logging.getLogger(__name__)
21
21
 
@@ -82,10 +82,14 @@ class BaseWorker:
82
82
  message.confirm()
83
83
 
84
84
  self.instance.after_emit("consume", message=message)
85
- except DropMessage as e:
85
+ except (exception.DropMessage, exception.RejectMessage) as e:
86
86
  message_drop.send(self, message=message, reason=e)
87
87
  logger.warning(f"{self.instance.name} dropped <{type(e).__name__}: {str(e)}>")
88
88
  message.reject()
89
+ except exception.RequeueMessage as e:
90
+ message_requeue.send(self, message=message, reason=e)
91
+ logger.warning(f"{self.instance.name} requeue <{type(e).__name__}: {str(e)}>")
92
+ message.requeue(is_source=True)
89
93
  except Exception as e:
90
94
  message_error.send(self, message=message, error=e)
91
95
  if self.instance.state.debug:
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes