Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Oracle Data Integrator 12c: endless loop in jython procedure

user10620764Dec 14 2015 — edited Jan 22 2016

The following script does not end if launched as a procedure in ODI, while ends properly if run out of context ODI. Can someone help me? if you need any more details just ask.

Thank you in advance


import logging

import random

import threading

import time

NUM_THREADS = 5

def worker(delay, logger):

    logge.info("Starting work...")

    for i in range(3):

        logger.info('Sleeping %0.02f', delay)

        time.sleep(delay)

    logger.info('Done.')

    return

for n in range(1, NUM_THREADS + 1):

    logger = logging.getLogger('thread-'+str(n))

    logger.setLevel(logging.DEBUG)

    # create a file handler writing to a file named after the thread

    file_handler = logging.FileHandler('thread-%s.log' % n)

    # create a custom formatter and register it for the file handler

    formatter = logging.Formatter('(%(threadName)-10s) %(message)s')

    file_handler.setFormatter(formatter)

    # register the file handler for the thread-specific logger

    logger.addHandler(file_handler)

    delay = random.random()

    t = threading.Thread(target=worker, args=(delay, logger))

    t.start()

main_thread = threading.currentThread()

for t in threading.enumerate():

    if t is not main_thread:

        t.join()

This post has been answered by user10620764 on Jan 22 2016
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 19 2016
Added on Dec 14 2015
1 comment
762 views