1. A method in a data processing system for configuring and scheduling logical discovery processes in a data processing system, the method comprising: receiving a plurality of discovery directives, wherein each discovery directive within the one or more discovery directives defines classes of resources and relationships to be discovered; creating an optimized provider execution plan to satisfy the plurality of discovery directives and to minimize overlapping discovery, wherein the provider execution plan comprises a plurality of directive/schedule pairs; and executing the provider execution plan; wherein executing the provider execution plan comprises: creating a job for each directive/schedule pair within the plurality of directive/schedule pairs to form a plurality of jobs; passing the plurality of jobs with associated schedule information to a scheduler; responsive to a given job within the plurality of jobs completing, generating an event to indicate directives associated with the given job are satisfied.