1. A computer-implemented method for managing task execution, the method including: receiving, by a task managing application of a computer system, a specification of a plurality of tasks, wherein the task managing application includes a first program and a second program, with the second program for listening for and receiving messages from a data processing application of the computer system; initiating, by the first program of the task managing application, the data processing application of the computer system; processing, by the data processing application of the computer system, input data using a dataflow graph to transform one or more portions of the input data into an appropriate form for the task managing application, the dataflow graph including data processing components connected by flows of data between the data processing components; generating, by the data processing application, output data that includes the transformed one or more portions of the input data; generating, by the data processing application, a message, the message including data elements, with at least one of the data elements including at least some data of the transformed one or more portions of the input data included in the output data; transmitting the message to the task managing application; periodically listening, by the second program, for messages sent from the data processing application; storing, in data structures, messages received, with the storing being by the second program of the task managing application; and for each message stored in a data structure, starting, by the second program of the task managing application, a new iteration of the plurality of tasks in the specification; identifying, by the second program of the task managing application, at least one of the tasks to perform based on one or more values of the data elements in the message stored in the data structure; and performing, by the task managing application, the identified at least one of the tasks.