Example #1
0
def _worker_conflicts_with_currently_running(worker):
    """Get the workers this worker would conflict with if it ran now.

    :param worker: worker that we wish to start.
    :type worker: RedisWorker

    :returns: [RedisWorker]
    """
    foreign_running_workers = get_workers_with_unprocessed_results()
    blockers = set()
    for foreign in foreign_running_workers:
        if not workers_are_compatible(worker, foreign):
            blockers.add(foreign)
    return blockers
    def test_workers_with_unproc_results(self, mocker):
        w_c_run = mocker.Mock()
        w_c_run.in_celery = True
        w_c_run.status = StatusWorker.running

        w_c_ran = mocker.Mock()
        w_c_ran.in_celery = True
        w_c_ran.status = StatusWorker.ran

        w_c_failed = mocker.Mock()
        w_c_failed.in_celery = True
        w_c_failed.status = StatusWorker.failed

        w_C_ran = mocker.Mock()
        w_C_ran.in_celery = False
        w_C_ran.status = StatusWorker.ran

        mocker.patch('invenio_checker.clients.worker.get_workers_in_redis',
                     mocker.Mock(return_value={w_c_run, w_c_ran, w_c_failed}))

        from invenio_checker.clients.worker import get_workers_with_unprocessed_results
        assert get_workers_with_unprocessed_results() == {w_c_run, w_c_ran}
Example #3
0
    def test_workers_with_unproc_results(self, mocker):
        w_c_run = mocker.Mock()
        w_c_run.in_celery = True
        w_c_run.status = StatusWorker.running

        w_c_ran = mocker.Mock()
        w_c_ran.in_celery = True
        w_c_ran.status = StatusWorker.ran

        w_c_failed = mocker.Mock()
        w_c_failed.in_celery = True
        w_c_failed.status = StatusWorker.failed

        w_C_ran = mocker.Mock()
        w_C_ran.in_celery = False
        w_C_ran.status = StatusWorker.ran

        mocker.patch('invenio_checker.clients.worker.get_workers_in_redis',
                     mocker.Mock(return_value={w_c_run, w_c_ran, w_c_failed}))

        from invenio_checker.clients.worker import get_workers_with_unprocessed_results
        assert get_workers_with_unprocessed_results() == {w_c_run, w_c_ran}