Hi Shafreen,

PRs are merged.

Thank you.

On Tue, Aug 11, 2020 at 10:31 PM Shafreen <anfar.shafr...@gmail.com> wrote:

> Hi All,
>
> Kind reminder on the pending PRs :)
>
> On Sat, Jul 25, 2020 at 10:17 PM Shafreen <anfar.shafr...@gmail.com>
> wrote:
>
>> Hi All,
>>
>> Please find the documentation PR [1] for this feature.
>>
>> [1] https://github.com/apache/synapse/pull/47
>>
>> On Sat, Jul 25, 2020 at 11:13 AM Shafreen <anfar.shafr...@gmail.com>
>> wrote:
>>
>>> Hi All,
>>>
>>> Can someone kindly look into the aforementioned PR and merge it. I will
>>> send the documentation PR soon after that.
>>>
>>> On Sat, Jul 11, 2020 at 10:34 PM Shafreen <anfar.shafr...@gmail.com>
>>> wrote:
>>>
>>>> Hi All,
>>>>
>>>> Please find the code change for this feature in PR [1].
>>>>
>>>> [1] https://github.com/apache/synapse/pull/46
>>>>
>>>> On Mon, Jul 6, 2020 at 11:23 PM Vanjikumaran Sivajothy <
>>>> vanjikuma...@gmail.com> wrote:
>>>>
>>>>> last suggestion much more intuitive.
>>>>>
>>>>> On Mon, Jul 6, 2020 at 9:27 AM Shafreen <anfar.shafr...@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> On Sun, Jun 28, 2020 at 11:39 PM Vanjikumaran Sivajothy <
>>>>>> vanjikuma...@gmail.com> wrote:
>>>>>>
>>>>>>> Since it is a part of the Message processor itself;
>>>>>>> Why can't we stick to  <parameter name="throttle">true</parameter>?
>>>>>>>
>>>>>>
>>>>>> Yeah. I think you are right. Compared to what I suggested *throttle* 
>>>>>> seems
>>>>>> to be better.
>>>>>>
>>>>>> <messageProcessor class=
>>>>>> "org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor"
>>>>>> name="ScheduledProcessor" messageStore="MyStore"> <parameter name=
>>>>>> "interval">10000</parameter> *<parameter
>>>>>> name="throttle">true</parameter>* <parameter name=
>>>>>> "max.deliver.attempts">3</parameter> <parameter name=
>>>>>> "max.deliver.drop">true</parameter> </messageProcessor>
>>>>>>
>>>>>> Other option we can go with is *consume.all *and the configuration
>>>>>> would look like as below,
>>>>>>
>>>>>> <messageProcessor class=
>>>>>> "org.apache.synapse.message.processors.forward.ScheduledMessageForwardingProcessor"
>>>>>> name="ScheduledProcessor" messageStore="MyStore"> <parameter name=
>>>>>> "interval">10000</parameter> *<parameter
>>>>>> name="consume.all">true</parameter>* <parameter name=
>>>>>> "max.deliver.attempts">3</parameter> <parameter name=
>>>>>> "max.deliver.drop">true</parameter> </messageProcessor>
>>>>>>
>>>>>> I prefer the latter but what do you think ?
>>>>>>
>>>>>>
>>>>>>> On Sun, Jun 28, 2020 at 10:32 AM Shafreen <anfar.shafr...@gmail.com>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Hi All,
>>>>>>>>
>>>>>>>> On Sun, Jun 14, 2020 at 8:15 AM Shafreen <anfar.shafr...@gmail.com>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi All,
>>>>>>>>>
>>>>>>>>> If everyone is okay. I can go ahead with the implementation. The
>>>>>>>>> below is the property that will be introduced.
>>>>>>>>>
>>>>>>>>> <parameter name="throttle.message.processing">true</parameter>
>>>>>>>>>
>>>>>>>>> Users can use the property to decide what they want to do when the
>>>>>>>>> message processor is triggered.
>>>>>>>>>
>>>>>>>>> 1. Consume all the messages at once
>>>>>>>>> 2. Consume messages at the rate in which message processor is
>>>>>>>>> triggered
>>>>>>>>>
>>>>>>>>
>>>>>>>> Any idea on the aforementioned property ? If you all are okay I can
>>>>>>>> go ahead and implement the feature.
>>>>>>>>
>>>>>>>>
>>>>>>>>>
>>>>>>>>> Thanks,
>>>>>>>>> Shafreen
>>>>>>>>>
>>>>>>>>> On Fri, May 29, 2020 at 7:18 PM Shafreen <anfar.shafr...@gmail.com>
>>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> I thought of simply using the time interval that is there for
>>>>>>>>>> Message Processor.
>>>>>>>>>>
>>>>>>>>>> On Fri, May 29, 2020 at 12:04 PM Vanjikumaran Sivajothy <
>>>>>>>>>> vanjikuma...@gmail.com> wrote:
>>>>>>>>>>
>>>>>>>>>>> What about the configuration of the interval?
>>>>>>>>>>>
>>>>>>>>>>> On Thu, May 28, 2020 at 8:53 AM Shafreen <
>>>>>>>>>>> anfar.shafr...@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>
>>>>>>>>>>>> How about a property name as below? we can make it false by
>>>>>>>>>>>> default which would give us the current behaviour.
>>>>>>>>>>>>
>>>>>>>>>>>> <parameter name="throttle.message.processing">true</parameter>
>>>>>>>>>>>>
>>>>>>>>>>>> On Mon, May 25, 2020 at 10:41 AM prabath <prabathm...@gmail.com>
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> +1 to support both behaviors.
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Sun, May 24, 2020 at 12:26 AM Shafreen <
>>>>>>>>>>>>> anfar.shafr...@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> Hi Vanji,
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Sat, May 23, 2020 at 2:51 PM Vanjikumaran Sivajothy <
>>>>>>>>>>>>>> vanjikuma...@gmail.com> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Let’s consider the current behaviors as a default.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Adding additional Optional property may control to make sure
>>>>>>>>>>>>>>> the backward comparability.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Okay. We can add a new parameter, that way we can have both
>>>>>>>>>>>>>> behaviors as you mentioned.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On Sat, May 23, 2020 at 12:46 AM Shafreen <
>>>>>>>>>>>>>>> anfar.shafr...@gmail.com> wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Hi All,
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Current behaviour of the Message Forwarding Processor is to
>>>>>>>>>>>>>>>> consume all the messages at once. For instance, say, the 
>>>>>>>>>>>>>>>> Message Forwarding
>>>>>>>>>>>>>>>> Processor is configured to run every 10 seconds and the 
>>>>>>>>>>>>>>>> Message store is
>>>>>>>>>>>>>>>> filled with 5 messages within the 10 second gap. In such a 
>>>>>>>>>>>>>>>> situation,
>>>>>>>>>>>>>>>> Message Forwarding Processor consumes all 5 messages and try 
>>>>>>>>>>>>>>>> to send it to
>>>>>>>>>>>>>>>> back-end as fast as possible. I think this behaviour is not 
>>>>>>>>>>>>>>>> optimal. The
>>>>>>>>>>>>>>>> purpose of Message Forwarding Processor it to send messages to 
>>>>>>>>>>>>>>>> the back-end
>>>>>>>>>>>>>>>> in a controlled rate. So that the back-end server can handle 
>>>>>>>>>>>>>>>> the load. IMO,
>>>>>>>>>>>>>>>> ideal behaviour should be to consume one message at a time and 
>>>>>>>>>>>>>>>> try to send
>>>>>>>>>>>>>>>> it to the back-end as per the configured interval.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> However, if the configured interval is a cron expression,
>>>>>>>>>>>>>>>> in such cases the current behaviour is correct. Because cron 
>>>>>>>>>>>>>>>> expressions
>>>>>>>>>>>>>>>> could have very large intervals.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Therefore, I think it is best to keep the current behaviour
>>>>>>>>>>>>>>>> for cron intervals but change it for normal intervals as 
>>>>>>>>>>>>>>>> aforementioned.
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> WDYT ?
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>>> Thanks,
>>>>>>>>>>>>>>>> Shafreen
>>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> --
>>>>>>>>>>>>>>> Sent from Gmail Mobile
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Prabath Ariyarathna.
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> --
>>>>>>>>>>> Best Regards,
>>>>>>>>>>> Vanji
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Best Regards,
>>>>>>> Vanji
>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Best Regards,
>>>>> Vanji
>>>>>
>>>>

-- 
*Isuru Udana*
Associate Director/Architect



*; WSO2 Inc.; http://wso2.com <http://wso2.com>email: isud...@gmail.com
<isud...@gmail.com> *

Reply via email to