def _start(self, app_context, **kwargs):
     if self.__input is None:
         self.__input = app_context.inst_data_mgr.get_series(self.input.name)
     self.__input.subject.subscribe(on_next=self.on_update)
     if self.__output_bar_type == BarType.Time:
         current_ts = self.__clock.now()
         next_ts = Bar.get_next_bar_start_time(current_ts, self.__output_size)
         diff = next_ts - current_ts
         Observable.timer(int(diff), self.__output_size * 1000, self.__clock.scheduler).subscribe(
             on_next=self.publish)
Exemple #2
0
 def _start(self, app_context, **kwargs):
     if self.__input is None:
         self.__input = app_context.inst_data_mgr.get_series(
             self.input.name)
     self.__input.subject.subscribe(on_next=self.on_update)
     if self.__output_bar_type == BarType.Time:
         current_ts = self.__clock.now()
         next_ts = Bar.get_next_bar_start_time(current_ts,
                                               self.__output_size)
         diff = next_ts - current_ts
         Observable.timer(
             int(diff), self.__output_size * 1000,
             self.__clock.scheduler).subscribe(on_next=self.publish)

class MyNoopGreenlet(Greenlet):
    def __init__(self, seconds):
        Greenlet.__init__(self)
        self.seconds = seconds

    def _run(self):
        gevent.sleep(self.seconds)

    def __str__(self):
        return 'MyNoopGreenlet(%s)' % self.seconds


current_ts = DateUtils.datetime_to_unixtimemillis(starttime)
next_ts = Bar.get_next_bar_start_time(current_ts, BarSize.S5)
diff = next_ts - current_ts
# Observable.timer(int(diff), BarSize.S5 * 1000, scheduler2).subscribe(action)
# scheduler1.advance_to(starttime)
# scheduler2.schedule_absolute(datetime.utcnow() + timedelta(seconds=3), action, scheduler2.now)
# print "1", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=1))
# print "2", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=2))
# print "3", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=3))
# print "4", scheduler1.now()
# scheduler1.advance_by(2000)
# print "5", scheduler1.now()


class MyNoopGreenlet(Greenlet):
    def __init__(self, seconds):
        Greenlet.__init__(self)
        self.seconds = seconds

    def _run(self):
        gevent.sleep(self.seconds)

    def __str__(self):
        return 'MyNoopGreenlet(%s)' % self.seconds


current_ts = DateUtils.datetime_to_unixtimemillis(starttime)
next_ts = Bar.get_next_bar_start_time(current_ts, BarSize.S5)
diff = next_ts - current_ts
# Observable.timer(int(diff), BarSize.S5 * 1000, scheduler2).subscribe(action)
# scheduler1.advance_to(starttime)
# scheduler2.schedule_absolute(datetime.utcnow() + timedelta(seconds=3), action, scheduler2.now)
# print "1", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=1))
# print "2", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=2))
# print "3", scheduler1.now()
# scheduler1.advance_to(starttime + timedelta(seconds=3))
# print "4", scheduler1.now()
# scheduler1.advance_by(2000)
# print "5", scheduler1.now()

current_ts = DateUtils.datetime_to_unixtimemillis(starttime)