Andrey,
Tasks can wait for a number of conditions, including events like COLLIDE_BEGIN_EVENT. Perhaps you want to do something like this?
Code:
import viztask
def doSomethingWhenCollidingTask():
while True:
yield viztask.waitEvent(viz.COLLIDE_BEGIN_EVENT)
print 'collidy !!!'
#do something
#........
yield viztask.waitTime(2) #ignore events for 2 seconds
viztask.schedule(doSomethingWhenCollidingTask())