human
...when it notifies observers observe_on
Via this you can add side effects on any notification to any subscriber.
This example shall demonstrate whats going on:"
Please write code following the instructions in jupyter notebook style.
assistant
#Here is code to .

rst(O.observe_on)
from reactivex.scheduler.newthreadscheduler import NewThreadScheduler

header('defining a custom thread factory for a custom scheduler')
def my_thread_factory(target, args=None): 
    'just to show that also here we can customize'
    t = threading.Thread(target=target, args=args or [])
    t.setDaemon(True)
    print ('\ncreated %s\n' % t.getName())
    return t

class MySched:
    def __init__(self):
        self.rx_sched = NewThreadScheduler(my_thread_factory)
        
    def __getattr__(self, a):
        'called whenever the observe_on scheduler is on duty'
        log('RX called', a, 'on mysched\n')
        return getattr(self.rx_sched, a)
        
mysched = MySched()        
s = O.interval(200).take(3) #.delay(100, mysched)

d = subs(s.observe_on(mysched))

sleep(2)
print 'all threads after finish:' # all cleaned up
print (' '.join([t.name for t in threading.enumerate()]))