Author |
Message
|
madrox |
Posted: Thu Jul 07, 2016 8:43 am Post subject: Timeout Notification in IIB 10 |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
I am trying to use a Timeout Notification node to trigger a flow in IIB 10 and im getting
Quote: |
BIP2685E: The node of type 'TimeoutNotification' named 'Timeout Notification' requires a queue manager to be specified on the integration node. |
I do understand that lots of feature in IIB 10 do not work without MQ. and my client does not have it.
Is there a work around to trigger the flow |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jul 07, 2016 8:47 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
anything else that can determine if an event needs to happen and react to it.
A cron job that runs curl to call an HTTP endpoint... or etc... _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
madrox |
Posted: Thu Jul 07, 2016 9:01 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Quote: |
Is there a work around to trigger the flow |
That's a bad question! Sorry!
I'm trying to used a 'TimeoutNotification' node to do a file read at set intervals.
Since I cant use the 'TimeoutNotification' in IIB 10 without a queue manager is there a way to workaround it.
Thanks |
|
Back to top |
|
 |
smdavies99 |
Posted: Thu Jul 07, 2016 10:33 am Post subject: |
|
|
 Jedi Council
Joined: 10 Feb 2003 Posts: 6076 Location: Somewhere over the Rainbow this side of Never-never land.
|
I was under the impresion that an MQ license was included with IIB10 just for this very purpose. When they get rid of MQ depedencies entirely then it won't be included.
It might be nice IBM to make the future licensing and support for existing customers who have and use MQ clear well before they remove MQ entirely from the profuct dependencies.
{and pigs might fly} _________________ WMQ User since 1999
MQSI/WBI/WMB/'Thingy' User since 2002
Linux user since 1995
Every time you reinvent the wheel the more square it gets (anon). If in doubt think and investigate before you ask silly questions. |
|
Back to top |
|
 |
joebuckeye |
Posted: Thu Jul 07, 2016 10:36 am Post subject: |
|
|
 Partisan
Joined: 24 Aug 2007 Posts: 365 Location: Columbus, OH
|
mqjeff wrote: |
A cron job that runs curl to call an HTTP endpoint... or etc... |
The above will work (assuming you have access to cron or something similar).
We have older flows that use cron to drop a message into a queue and just the presence of the incoming message is what fires off the running of the flow.
Jeff is suggesting using an HTTP node in place of MQ since you don't have access to it. |
|
Back to top |
|
 |
madrox |
Posted: Thu Jul 07, 2016 10:44 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Quote: |
Jeff is suggesting using an HTTP node in place of MQ since you don't have access to it. |
When you say using a HTTP node, I'm assuming that I will have to trigger it by making a http call to the flow.
Is my assumption right?
If so then that would not work for me as I am trying to pick up a file from a location at certain intervals.
If I do use a HTTP node then I will have to call it at those interval..
I am thinking wrong?  |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jul 07, 2016 10:51 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
madrox - no, that's what I was thinking of.
Not really sure why you would want to pick up a file at certain intervals.
The file should only be available at it's "final" location when it's ready to be processed.
Then you can use a FileInput node and it will pick the file up immediately - as soon as it's ready.
If you use a FileRead node, then there's simply no guarantee that the file is ready at the right interval. "well, it's normally ready at that time, but we had to put an extra set of records in this time and it took much longer than we thought, and now all those records are gone".
But again, the point is - if you need to do something at regular intervals, and you don't have access to MQ to run the timeout nodes (and the timeout nodes are not as reliable across Broker restarts) then you need to use some other kind of external scheduler - cron, at, etc. - to cause an "event" of some kind to be received by the Broker flow. Like by an HTTP node.
Then once the flow is started, you can use the FileRead node to get the file.
But again, without insuring that the file is *guaranteed* to be ready when it's time to be processed, you have an unreliable system that can easily cause business data loss.
Much like any file based transfer system... _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
madrox |
Posted: Thu Jul 07, 2016 11:00 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
mqjeff well the reason that I am trying to use a trigger (timeout notification) is because I want to override the file directory and use a config file to define that per environment. So the trigger would call a cache flow which will set that up for me and a compute node before the file read node would override the directory path since the directory structure is different for each environment.
Hence I came up with this plan.
I was planning on fileinput node at first but that would require a baroverride for every environment. |
|
Back to top |
|
 |
mqjeff |
Posted: Thu Jul 07, 2016 11:22 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Again, there's all kinds of things you can use to do a trigger. Cron and/or At come free with your OS (cron for unix, at for windows).
This would then run a script that would do whatever you want to start trigger the flow. An httpinput node is easy, but mqinput or etc. etc. etc is not much harder.
But changing the whole process to use something other than files is a much better solution long term. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
madrox |
Posted: Thu Jul 07, 2016 11:44 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Thank you all, I think I will use a HTTP input to trigger! |
|
Back to top |
|
 |
joebuckeye |
Posted: Fri Jul 08, 2016 5:27 am Post subject: |
|
|
 Partisan
Joined: 24 Aug 2007 Posts: 365 Location: Columbus, OH
|
madrox wrote: |
I was planning on fileinput node at first but that would require a baroverride for every environment. |
What is wrong with this? It is a nice, simple solution. |
|
Back to top |
|
 |
madrox |
Posted: Fri Jul 08, 2016 5:31 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Well we don't want to override the bar file every time we promote to new environment. We just want to have one bar file for all environments and the config file will dictate the directories where the file sits in each environment. |
|
Back to top |
|
 |
madrox |
Posted: Fri Jul 08, 2016 6:09 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Ok this sounds bad. I just tried triggering the flow with a HTTP input and now I'm running into a different issue with the file read node.
Here is what I am doing HTTP input triggers the flow, in the compute node before the FileRead node I'm trying to override the Input directory
Code: |
SET OutputLocalEnvironment.File.Read.Directory = 'C:\MQSIFileRead\test'; |
and I get an exception
Quote: |
ExceptionList
RecoverableException
File:CHARACTER:F:\build\S1000_slot1\S1000_P\src\DataFlowEngine\MessageServices\ImbDataFlowNode.cpp
Line:INTEGER:1235
Function:CHARACTER:ImbDataFlowNode::createExceptionList
Type:CHARACTER:ComIbmFileReadNode
Name:CHARACTER:test_flow#FCMComposite_1_7
Label:CHARACTER:test_flow.File Read
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:3
Number:INTEGER:2230
Text:CHARACTER:Node throwing exception
Insert
Type:INTEGER:14
Text:CHARACTER:test_flow.File Read
RecoverableException
File:CHARACTER:Undefined
Line:INTEGER:-1
Function:CHARACTER:checkDirectories
Type:CHARACTER:
Name:CHARACTER:
Label:CHARACTER:
Catalog:CHARACTER:BIPmsgs
Severity:INTEGER:1
Number:INTEGER:4988
Text:CHARACTER:directory invalid: null
Insert
Type:INTEGER:5
Text:CHARACTER: |
|
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jul 08, 2016 6:21 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Did you tell the compute to propagate local environment? _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
madrox |
Posted: Fri Jul 08, 2016 6:29 am Post subject: |
|
|
 Acolyte
Joined: 11 Mar 2015 Posts: 71
|
Yes I did. I found the mistake. It works!!
Code: |
SET OutputLocalEnvironment.Destination.File.Directory ='C:\MQSIFileRead\test'; |
 |
|
Back to top |
|
 |
|