This has happened to me. Same situation - multiple event trigger, long trigger time constraint, and tasks fully reloaded every 15 minutes, well below the time constraint. It would work every 15 minutes for a day or two, then at some random time it would fail to fire the trigger. We provided information to QlikTech Support but they were never able to reproduce. Have you filed a support case?
I should add that I was using Server V10 SR2 and SR3. What version are you using?
I found a trigger file in C:/ProgramData/QlikTech/DistributionService/Triggers with status "Unhandled" for each trigger that doesn't work. Looking the date on the files, I guess that this file corresponds with a previous run of the dependent task (may be a manual run) and QV isn't handling well the trigger's expiration.
I tried deleting one of the files and the following time the trigger works fine.
So, I made a Python program that checks Triggers_*.xml files and move to another directory the triggers files with problems (status unhandled or trigger definition doesn't exists in current configuration).
You can get the program here http://goo.gl/gaM0B. You need Python 2.7 in order to run the program.
Usage: qvandtriggerreset.py [options]
-h, --help show this help message and exit
-t TRIGGER_DIR, --triggerdir=TRIGGER_DIR
Directory where QV stores trigger files (must exists).
-c CONFIG_DIR, --configdir=CONFIG_DIR
Directory where QV stores task and trigger
configuration files (must exists).
-a ARCHIVE_DIR, --archivedir=ARCHIVE_DIR
Destination directory for trigger files to be reseted.
-p TN_PATTERN, --tasknamepattern=TN_PATTERN
Task name pattern to lookup for triggers.
-l LOG_FILE, --logfile=LOG_FILE
Log file (stdout if omited).
The idea is to run this program before a batch process begins. You can specify the tasks to include in the search using a regular expression (TN_PATTERN). For example, if tasks are named PROD ... (for all production tasks), you can reset all triggers with problems for that environment using -p "PROD.+" before chain of tasks starts.
Example (for ALL tasks):
python.exe qvandtriggerreset.py -t "C:/ProgramData/QlikTech/DistributionService/Triggers" -c "C:/workspaces/qvandtriggerreset/data/QVPR" -a "C:/ProgramData/QlikTech/DistributionService/Triggers/archive" -p ".+"
This is not a solution, but a workaround. I hope it is usefull until a real solution.