Ejemplo n.º 1
0
        def build(self):
            from ia_scribe.tasks.task_scheduler import TaskScheduler
            task_scheduler = TaskScheduler()
            task_scheduler.start()

            app_screen = NetworkTestAppScreen(task_scheduler=task_scheduler, )
            return app_screen
Ejemplo n.º 2
0
class TaskManagerApp(App):

    def build(self):
        root = TaskManager(pos_hint={'x': 0.0, 'center_y': 0.5},
                           size_hint=(1.0, 1.0))
        return root

    def on_start(self):
        super(TaskManagerApp, self).on_start()
        self.root_window.size = (1000, 600)
        self.scheduler = TaskScheduler()
        self.scheduler.start()
        for task in self.create_dummy_tasks():
            self.scheduler.schedule(task)
        self.root.attach_scheduler(self.scheduler)

    def on_stop(self):
        self.scheduler.stop()

    def create_dummy_tasks(self):
        out = []
        for index in range(1, 16):
            task = SimpleTask(name='Task%s' % index,
                              periodic=index in {1, 2},
                              interval=5)
            out.append(task)
        return out
Ejemplo n.º 3
0
class HeadlessScribe3(object):
    def __init__(self, *args, **kwargs):
        self.task_scheduler = TaskScheduler()

    def queue_task_callback(self, *args, **kwargs):
        task = kwargs['task']
        path = kwargs['path']
        concrete_task = task(path=path)
        self.task_scheduler.schedule(concrete_task)

    def termination_handler(self, sig, frame):
        print('Soft termination: stopping task scheduler and waiting '
              'for workers to exit cleanly')
        self.task_scheduler.stop()
        print('Workers stopped, now exiting')
        sys.exit(0)

    def run(self):
        signal.signal(signal.SIGINT, self.termination_handler)
        self.task_scheduler.start()
        check_folder_task = FolderMonitor(
            periodic=True,
            interval=5.0,
            queue_task_callback=self.queue_task_callback,
        )
        self.task_scheduler.schedule(check_folder_task)
        while True:
            pass
        def build(self):
            from ia_scribe.tasks.task_scheduler import TaskScheduler
            task_scheduler = TaskScheduler()
            task_scheduler.start()

            from ia_scribe.book.library import Library
            library = Library()

            app_screen = BookDownloadAppScreen(task_scheduler=task_scheduler,
                                               library=library)
            return app_screen
Ejemplo n.º 5
0
class TaskApp(App):

    def __init__(self, **kwargs):
        super(TaskApp, self).__init__(**kwargs)
        self.scheduler = TaskScheduler()
        self.task = self.create_task()
        self.task.fbind('on_progress', self._on_task_progress)
        self.task.fbind('on_end', self._on_task_end)

    def create_task(self):
        raise NotImplementedError()

    def build(self):
        return Builder.load_string(kv)

    def on_start(self):
        super(TaskApp, self).on_start()
        self.scheduler.start()
        self.scheduler.schedule(self.task)

    def _task_pause_or_resume(self, button):
        if button.text == 'Pause':
            if self.task.pause():
                button.text = 'Resume'
        elif button.text == 'Resume':
            if self.task.resume():
                button.text = 'Pause'

    def _task_cancel(self, button):
        self.task.cancel()
        self.root.ids.buttons.disabled = True

    def _on_task_progress(self, task, data):
        text = u'{:.0f}% {}'.format(data['progress'] * 100, data['message'])
        self.root.ids.label.text = text
        self.root.ids.bar.value = data['progress']

    def _on_task_end(self, task):
        self.root.ids.buttons.disabled = True

    def on_stop(self):
        super(TaskApp, self).on_stop()
        self.task.cancel()
Ejemplo n.º 6
0
logger = setup_logger()

counter_normal = 0
counter_hiprio = 0
counter_lowprio = 0
durations = [(0, 0, 0)]


def update_receiver(*args, **kwargs):
    #print 'received update', args, kwargs
    pass


task_scheduler = TaskScheduler()
task_scheduler.start()
time.sleep(1)


def stats_collector(scheduler, storage):
    while True:
        task_items = scheduler.get_all_tasks()
        datapoint = [
            time.time(),
            len([x for x in task_items if x['task'].state == 'pending']),
            len([x for x in task_items if x['task'].state == 'running']),
            len([x for x in task_items if x['task'].state == 'done']),
            len([
                x for x in task_items
                if x['level_name'] == 'high' and x['task'].state == 'running'
            ]),
Ejemplo n.º 7
0
def load():
    from ia_scribe.tasks.task_scheduler import TaskScheduler
    task_scheduler = TaskScheduler()
    task_scheduler.start()
    return True