task._result = task.reduce(task._results) task.fulfill(task._result) # remove references task._result = None task._results = None self.signal_end.emit() # if new tasks were added as a result of this, execute them immediately # TODO: we may want to include infinite recursion protection self._is_executing = False if len(self.task_queue) > 0: logger.debug("task queue not empty.. start over!") self.execute() finally: self._is_executing = False if __name__ == "__main__": import vaex import sys vaex.set_log_level_debug() server = vaex.server(sys.argv[1], port=int(sys.argv[2])) datasets = server.datasets() print(datasets) dataset = datasets[0] dataset = vaex.example() print(dataset("x").minmax()) dataset.select("x < 0") print(dataset.selected_length(), len(dataset)) print(dataset("x").selected().is_masked) print(dataset("x").selected().minmax())
__author__ = 'maartenbreddels' import numpy as np import unittest import vaex.webserver import vaex as vx import vaex.webserver import vaex.execution import time vx.set_log_level_exception() vx.set_log_level_debug() class JobSleep(vaex.webserver.JobFlexible): def execute(self): time.sleep(self.cost*self.fraction*0.2) self.done() class TestQueue(unittest.TestCase): def test_queue(self): global count job_queue = vaex.webserver.JobQueue() job_executor = vaex.webserver.JobExecutor(job_queue=job_queue) jobs = [] for i in range(20): job = JobSleep(1) job_queue.add(job) jobs.append(job) count = 0 def add_job(prev_job): global count count += 1
__author__ = 'maartenbreddels' import numpy as np import unittest import vaex.webserver import vaex as vx import vaex.webserver import vaex.execution import time vx.set_log_level_exception() vx.set_log_level_debug() class JobSleep(vaex.webserver.JobFlexible): def execute(self): time.sleep(self.cost * self.fraction * 0.2) self.done() class TestQueue(unittest.TestCase): def test_queue(self): global count job_queue = vaex.webserver.JobQueue() job_executor = vaex.webserver.JobExecutor(job_queue=job_queue) jobs = [] for i in range(20): job = JobSleep(1) job_queue.add(job) jobs.append(job) count = 0