cancel
Showing results for 
Search instead for 
Did you mean: 

FORK is Not happening Parallel processing- It's working sequential

Former Member
0 Kudos

Hi,

we are into PI 7.O and SP 13.

I am trying to test Parallel processing using Fork step. (With Two branches)

My problem is sxm_moni both branches are not executed simultenously and it's executing one after the other.

Did any body done in XI parallel processing using BPM...both calls has to finish at the same time. I mean first call 10 min and second call aslo has to finish first 10 min ..not other 10 min.

I heard this problem from XI 3.0 and PI 7.O. But PI 7.1 did any body test the Parallel processing using Fork step.

Pls help me is this issue will resolve if I go to PI 7.1.

Regards,

Venu.

Accepted Solutions (0)

Answers (1)

Answers (1)

henrique_pinto
Active Contributor
0 Kudos

Fork step is not meant for time parallelization, but rather logical parallelization.

It means that the tasks executed in each branch are independent of each other and can be executed mutually, in separate threads.

If you need time parallelization, use a block step in ParForEach mode.

Regards,

Henrique.

Former Member
0 Kudos

Hi,

Thanks for your replay.

Using Block step we need to define Multiline even after define multiline which reqeust has to call which sysnc ...Using Fork only Static parallel calls achiveable but the problem threads are runnding one after the other not two at the same time.

But our requirement we wil receive single reqeust and once we receive this request we need to send two targets(we need to use two Sync send steps our targets are different) and get the response are two at same time.

I heard PI 7.1 this problem fixed but if any body can worked on PI 7.1 using Fork they can tell us answer.

Regards,

Venu.

henrique_pinto
Active Contributor
0 Kudos

Dude, it's not a bug. Fork is not meant for that.

You will never have 100% guaranteed synchronized execution with fork step, in neither of PI versions.

Again, in BPM, only way to guarantee sync execution is Block in ParForEach mode.

If it won't apply to your req, you'll need to develop something specific.

But, why do you need to have syncrhonized execution anyway?

Regards,

Henrique.

Former Member
0 Kudos

My Two targets are one is Webservice and another one is RFC FM and I have to go for Sync calls and merge them send it to Front end application.

Here Front end applocation is Flex (This will use our Wesevice). That was the reason I will receive the my Sync input message using (Sync/Async receive step) then based on Input I need to call the two target and get the response . These two response I need to achieve at the same time.

Flex -> XI( Target1 Webservice and Target2 RFC Funtion module and mege the response send it to Front end).

Is there any other way which I can achieve with out Fork. I am trying to use Block but my requirment is not fulfilling...

Regards,

Venu.

henrique_pinto
Active Contributor
0 Kudos

Ok.

In your case, how many seconds does it take between the responses are back?

I mean, in your Fork step, just define the number of necessary branches = 2.

Than, it will only execute the next transformation step after both of the messages have returned.

Anyway, that should also be possible with Block in either foreach or parforeach mode.

Regards,

Henrique

Former Member
0 Kudos

Duration of each response is taking 17 sec + 17 sec = total 34 sec

If Parallel happend 17 sec itself we can achieve.

henrique_pinto
Active Contributor
0 Kudos

That's strange. In practical terms, they would not necessarily start at the same time but shouldnt also be queued. Maybe there're # of connection restrictions in your system? Check that.

Also, how's your BPM transactional behavior (did you flag the create new transaction steps)?

Regards,

Henrique.

Former Member
0 Kudos

Hi Henrique,

they would not necessarily start at the same time but shouldnt also be queued - Customer expecting the response within a 17 sec or 20 Sec but coming response 34 sec will not ok for the customer..tomorrow need add some more target again 17 sec will take...How PI can handle the Multi threading they are checking...I am not sure this problem fixed in PI 7.1 or not.

there're # of connection restrictions in your system? Check that - Where can I check connections restrictions...If you know pls through some light on this.

Also, how's your BPM transactional behavior (did you flag the create new transaction steps)?

- I did not checked the flag for create new transaction step..once my server is up I can check the flag and I can test.

Regards,

Venu.