Learn how to increase the operational efficiency of the assets you manage, and improve overall equipment effectiveness by using IoT data and AI.



Reduce the operational costs of the facilities you manage, and create more engaging occupant experiences through the application of IoT data and AI.



Learn how IoT data and AI are being applied to transform the end-to-end engineering lifecycle.

Expand all | Collapse all

What are the ways a cron-to-web service integration can fail?

  • 1.  What are the ways a cron-to-web service integration can fail?

    Posted Tue July 28, 2020 10:02 AM
    Edited by User1971 Tue July 28, 2020 03:25 PM
    What are the various ways that a cron task --to-- web service integration can fail?

    For example, a GIS integration: a cron task that grabs a JSON object from a web service and syncs to Maximo (inbound).

    I can think a few failure modes off the top of my head:

    1. The cron task fails to run.
    2. The cron task runs but secretly fails.
        For example, a recent iFIx had a problem where the ArcGISDataSync cron task would run, but it didn't do anything.
    3. The external system fails.
        For example, the GIS web service returns an error, not a JSON object.
    4. The records from the JSON object fail to be synced with Maximo due to the data not meeting the MIF rules/constraints.
        For example, the messages fail and end up in Message Reprocessing.

    Are there other failure modes that I've missed?
    Or have I misunderstood any of the ones I've listed?


  • 2.  RE: What are the ways a cron-to-web service integration can fail?

    Posted Wed July 29, 2020 08:53 AM
    It depends on how detailed you want to get. For example, number 3 can have many different reasons such as authentication issues, SSL certificate issues, mismatch on TLS protocols (typically one requiring 1.2 and the other not making a TLS 1.2 request), system is down, system is misconfigured, network access to the GIS system is lost, etc. Number 1 could be caused by Maximo being down during the cron task scheduled run (and runonschedule is configured to true in Maximo), taskscheduler has a bad value in the lastend and thus the cron task won't run, someone made the cron task inactive, etc. ​

    Number 2 is really the most interesting one that is always a challenge with integrations where nothing fails but nothing happens. This one requires the most thought on how you try and capture that as it would vary per integration.

    This could be potentially considered under 4, but to me is its own category, and that is the data synchronized to Maximo itself is bad but doesn't fail. What I mean by that is the data is in a state that shouldn't be possible, such as someone adjusting an inventory balance without an inventory adjustment being recorded or missing records that are required to support that record (like ASSETANCESTOR/PMANCESTOR, PMSEQUENCE, etc.). Especially when inexperienced users use tools like MXLoader, they can often get data into invalid states because the logic and validation isn't the same when working with the MIF. These can cause all sorts of unusual situations to occur inside of Maximo that can take a lot of troubleshooting to resolve. In your case you're dealing with an IBM developed cron task which hopefully wouldn't have this issue, but as you've noticed, doesn't mean it's perfect either.

    Steven Shull
    Director of Development
    Projetech Inc
    Cincinnati OH