コード例 #1
0
ファイル: test_task.py プロジェクト: omarbelkady/prefect
    def test_create_task_with_retry_delay(self):
        t1 = Task(retry_delay=timedelta(seconds=30), max_retries=1)
        assert t1.retry_delay == timedelta(seconds=30)

        with set_temporary_config({"tasks.defaults.retry_delay": 3}) as config:
            # Cover type casting of task defaults
            process_task_defaults(config)
            t2 = Task(max_retries=1)
            assert t2.retry_delay == timedelta(seconds=3)
コード例 #2
0
ファイル: test_task.py プロジェクト: omarbelkady/prefect
    def test_create_task_with_max_retries(self):
        t1 = Task()
        assert t1.max_retries == 0

        t2 = Task(max_retries=5, retry_delay=timedelta(0))
        assert t2.max_retries == 5

        with set_temporary_config({"tasks.defaults.max_retries": 3}) as config:
            # Cover type casting of task defaults
            process_task_defaults(config)
            t3 = Task(retry_delay=timedelta(0))
            assert t3.max_retries == 3
コード例 #3
0
ファイル: test_task.py プロジェクト: limx0/prefect
    def test_create_task_with_max_retry_override_to_0(self):
        with set_temporary_config(
            {"tasks.defaults.max_retries": 3, "tasks.defaults.retry_delay": 3}
        ) as config:
            process_task_defaults(config)
            t = Task(max_retries=0, retry_delay=None)
            assert t.max_retries == 0
            assert t.retry_delay is None

            # max_retries set to 0 will not pull retry_delay from the config
            process_task_defaults(config)
            t = Task(max_retries=0)
            assert t.max_retries == 0
            assert t.retry_delay is None
コード例 #4
0
ファイル: test_task.py プロジェクト: tuanchris/prefect
    def test_create_task_with_timeout(self):
        t1 = Task()
        assert t1.timeout is None

        with pytest.raises(TypeError):
            Task(timeout=0.5)

        t3 = Task(timeout=1)
        assert t3.timeout == 1

        with set_temporary_config({"tasks.defaults.timeout": 3}) as config:
            # Cover type casting of task defaults
            process_task_defaults(config)
            t4 = Task()
            assert t4.timeout == 3
コード例 #5
0
 def test_retry_delay_is_timedelta_if_timedelta(self):
     config = Config()
     config.set_nested("tasks.defaults.retry_delay",
                       datetime.timedelta(seconds=5))
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.retry_delay == datetime.timedelta(
         seconds=5)
コード例 #6
0
    def test_create_task_with_timeout(self):
        t1 = Task()
        assert t1.timeout is None

        with pytest.raises(TypeError):
            Task(timeout=0.5)

        t3 = Task(timeout=1)
        assert t3.timeout == 1

        with set_temporary_config({"tasks.defaults.timeout": 3}) as config:
            # Cover type casting of task defaults
            process_task_defaults(config)
            t4 = Task()
            assert t4.timeout == 3

        t4 = Task(timeout=timedelta(seconds=2))
        assert t4.timeout == 2

        with pytest.warns(UserWarning):
            t5 = Task(timeout=timedelta(seconds=3, milliseconds=1, microseconds=1))
        assert t5.timeout == 3
コード例 #7
0
 def test_retry_delay_is_none_if_none(self):
     config = Config(default_box=True)
     config.tasks.defaults.retry_delay = None
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.retry_delay is None
コード例 #8
0
 def test_retry_delay_is_none_if_not_set(self):
     config = configuration.process_task_defaults(Config())
     assert config.tasks.defaults.retry_delay is None
コード例 #9
0
 def test_max_retries_ignored_if_set(self):
     config = Config(default_box=True)
     config.tasks.defaults.max_retries = 3
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.max_retries == 3
コード例 #10
0
 def test_max_retries_is_0_if_0(self):
     config = Config(default_box=True)
     config.tasks.defaults.max_retries = 0
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.max_retries == 0
コード例 #11
0
 def test_max_retries_is_0_if_not_set(self):
     config = configuration.process_task_defaults(Config())
     assert config.tasks.defaults.max_retries == 0
コード例 #12
0
 def test_timeout_is_none_if_none(self):
     config = Config(default_box=True)
     config.tasks.defaults.timeout = None
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.timeout is None
コード例 #13
0
 def test_retry_delay_is_none_if_none(self):
     config = Config()
     config.set_nested("tasks.defaults.retry_delay", None)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.retry_delay is None
コード例 #14
0
 def test_max_retries_ignored_if_set(self):
     config = Config()
     config.set_nested("tasks.defaults.max_retries", 3)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.max_retries == 3
コード例 #15
0
 def test_max_retries_is_0_if_0(self):
     config = Config()
     config.set_nested("tasks.defaults.max_retries", 0)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.max_retries == 0
コード例 #16
0
 def test_retry_delay_is_timedelta_if_int(self):
     config = Config(default_box=True)
     config.tasks.defaults.retry_delay = 5
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.retry_delay == datetime.timedelta(
         seconds=5)
コード例 #17
0
 def test_timeout_is_none_if_not_set(self):
     config = configuration.process_task_defaults(Config())
     assert config.tasks.defaults.timeout is None
コード例 #18
0
 def test_timeout_is_none_if_none(self):
     config = Config()
     config.set_nested("tasks.defaults.timeout", None)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.timeout is None
コード例 #19
0
 def test_timeout_is_timedelta_if_timedelta(self):
     config = Config(default_box=True)
     config.tasks.defaults.timeout = datetime.timedelta(seconds=5)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.timeout == datetime.timedelta(seconds=5)
コード例 #20
0
 def test_timeout_is_timedelta_if_int(self):
     config = Config()
     config.set_nested("tasks.defaults.timeout", 5)
     config = configuration.process_task_defaults(config)
     assert config.tasks.defaults.timeout == datetime.timedelta(seconds=5)