What to do if I run into a Job Problem
As happens in software, you will run into a bug where a job doesn't work like it should (or you expect it to). When this happens, you can try steps listed in this section.
Some of the things to look for are:
Is the job config correct?
Make sure the correct endpoints are selected and the job options are correct.
Is the endpoint config correct?
Make sure the connection to the system is correct.
How long has the transaction been running?
Depending on the amount of content being synced, a long transaction might be expected.
Are there alerts or notifications?
Check if the job continually retrying (more than 3 times).
Are there error log messages?
Check if there a specific error that is causing the job to stop.
What is the last transaction detail run?
Check where in the process the transaction is.
Are there currently running heartbeats?
Check if any heartbeats are currently failing.
Contacting Support
Details to Send
A detailed description of the problem
Transaction ID for problematic transaction
Last 5 unique transaction report detail types for problematic transaction
including detail data for some of these records will be helpful as well.
Messages for the date range as the transaction
The last few messages may not be enough, especially if many jobs are running. It is best to send as many message as possible.
Running heartbeats
All heartbeats
Finding the Transaction ID
The response will show multiple transactions along with their status, related job, start time and end time, as well as their details. This can be used to find the problematic transaction.
Getting Transaction Details
Once you know the transaction ID, you can then find the details for the transaction.
This request will get all the details for the transaction. From this you can select the last few transaction details to send to support or send the entire list of details.
Getting Transaction Logs
This will return a list of all the logs for a transaction ID. You can then save this list and search for "error" to find all the logs with "error" in it.
Getting Logs for Time Range
With the transaction details, you can get the time range of the transaction to get all logs for that time range. You can get the start time from the transaction's start time.
If the transaction is inactive the end time should be the time the transaction completed. However, if the transaction is still active, the end time should be at least 5 minutes after the latest transaction detail's time.
This will return all the logs within the start and end time parameters used.
Getting messages
Messages will contain any details while running a transaction. This includes any errors, general messages, and warnings.
You can get messages from the transaction that is using sync-mangers call In order to do so you need the message transaction id which is located in the reports page for that job.
Get Running Heartbeats
Use time stamps to filter for all running heartbeats with a start time matching the transaction start time.
Get All Heartbeats
Use time stamps to filter for all heartbeats with a start time matching the transaction start time.
Get Content Diffuser Data
In Impulse the Content Diffuser Process Tables data is what tells us what exactly is happening at the heart of any sync. We have provided several REST endpoints to expose data from these tables:
delivery_status_by_endpoint: Status of each element that was sent to the Dropoff Taxi to Impulse Sync.
content_file: Information of each element that Diffuser receives when Impulse Sync starts.
content_status_by_endpoint: Processing Status of each Main Content by Endpoint.
content_by_endpoint_in_progress: Status of each Main Content by Endpoint that are being processing in a specific time.
content_by_processor: Processor that each element is in.
total_content_files_by_endpoint: The amount of contents that each endpoint that are expecting. Useful to see how many are missing/waiting and could be cross reference with the data from content_file.
motations_missing_by_endpoint: The Motations are each endpoint is expecting/waiting. In a successful Impulse Sync this records should be empty.
All the REST Endpoints should be accessed using the transactionId
as filter.
Last updated