当前位置: 首页>>代码示例>>Python>>正文


Python rache.schedule_job函数代码示例

本文整理汇总了Python中rache.schedule_job函数的典型用法代码示例。如果您正苦于以下问题:Python schedule_job函数的具体用法?Python schedule_job怎么用?Python schedule_job使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。


在下文中一共展示了schedule_job函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: update_feed

def update_feed(
    url,
    etag=None,
    modified=None,
    subscribers=1,
    request_timeout=10,
    backoff_factor=1,
    error=None,
    link=None,
    title=None,
    hub=None,
):
    from .models import UniqueFeed

    try:
        UniqueFeed.objects.update_feed(
            url,
            etag=etag,
            last_modified=modified,
            subscribers=subscribers,
            backoff_factor=backoff_factor,
            previous_error=error,
            link=link,
            title=title,
            hub=hub,
        )
    except JobTimeoutException:
        backoff_factor = min(UniqueFeed.MAX_BACKOFF, backoff_factor + 1)
        logger.debug("Job timed out, backing off %s to %s" % (url, backoff_factor))
        schedule_job(
            url,
            schedule_in=UniqueFeed.delay(backoff_factor),
            backoff_factor=backoff_factor,
            connection=get_redis_connection(),
        )
开发者ID:bors-ltd,项目名称:feedhq,代码行数:35,代码来源:tasks.py

示例2: test_scheduled_jobs

 def test_scheduled_jobs(self):
     schedule_job('jòb', schedule_in=10)
     schedule_job('ötherjòb', schedule_in=20)
     schedule = scheduled_jobs(with_times=True)
     self.assertEqual([s[0] for s in schedule], ['jòb', 'ötherjòb'])
     schedule = list(scheduled_jobs())
     self.assertEqual(schedule, ['jòb', 'ötherjòb'])
开发者ID:brutasse,项目名称:rache,代码行数:7,代码来源:tests.py

示例3: test_scheduler_backup

    def test_scheduler_backup(self, get):
        get.return_value = responses(304)

        feed = FeedFactory.create()
        with self.assertNumQueries(1):
            call_command('backup_scheduler')

        schedule_job(feed.url, schedule_in=10, subscribers=10, etag='foobar',
                     backoff_factor=2, last_update=int(time.time()) + 10,
                     title="f" * 2049)

        with self.assertNumQueries(1):
            call_command('backup_scheduler')

        schedule_job(feed.url, schedule_in=10, title='12')

        with self.assertNumQueries(1):
            call_command('backup_scheduler')

        unique = UniqueFeed.objects.get()
        self.assertEqual(unique.subscribers, 10)
        self.assertEqual(unique.backoff_factor, 2)
        self.assertEqual(unique.etag, 'foobar')
        self.assertEqual(unique.modified, '')
        delta = (unique.last_update - timezone.now()).seconds
        self.assertTrue(5 < delta < 10)

        for i in range(4):
            FeedFactory.create()
        with self.assertNumQueries(5):
            call_command('backup_scheduler')
开发者ID:gjxlu,项目名称:feedhq,代码行数:31,代码来源:test_update_queue.py

示例4: test_schedule_limit_items_count

    def test_schedule_limit_items_count(self):
        for i in range(100):
            schedule_job('foo{0}'.format(i), schedule_in=-1)

        jobs = list(pending_jobs(limit=10))
        self.assertEqual(len(jobs), 10)
        self.assertEqual(len(list(scheduled_jobs())), 90)
开发者ID:brutasse,项目名称:rache,代码行数:7,代码来源:tests.py

示例5: backoff_feed

 def backoff_feed(self, url, error, backoff_factor):
     if backoff_factor == UniqueFeed.MAX_BACKOFF - 1:
         logger.info("reached max backoff factor", url=url, error=error)
     backoff_factor = min(UniqueFeed.MAX_BACKOFF, backoff_factor + 1)
     schedule_job(url, schedule_in=UniqueFeed.delay(backoff_factor),
                  error=error, backoff_factor=backoff_factor,
                  connection=get_redis_connection())
开发者ID:feedhq,项目名称:feedhq,代码行数:7,代码来源:models.py

示例6: test_manage_feed

    def test_manage_feed(self, get):
        get.return_value = responses(304)
        user = UserFactory.create()
        url = reverse('feeds:manage')
        response = self.app.get(url, user=user)
        self.assertContains(response, 'Manage feeds')

        FeedFactory.create(user=user, category=None)
        FeedFactory.create(user=user, category=None)
        FeedFactory.create(user=user, category=None)
        unique = UniqueFeed.objects.all()[0]
        schedule_job(unique.url, schedule_in=0, backoff_factor=10,
                     error=UniqueFeed.NOT_A_FEED,
                     connection=get_redis_connection())

        response = self.app.get(url, user=user)
        self.assertContains(response, 'Not a valid RSS/Atom feed')

        schedule_job(unique.url, schedule_in=0, error='blah',
                     connection=get_redis_connection())
        response = self.app.get(url, user=user)
        self.assertContains(response, 'Error')

        unique.muted = True
        unique.save()
        response = self.app.get(url, user=user)
        self.assertContains(response, 'Error')
开发者ID:feedhq,项目名称:feedhq,代码行数:27,代码来源:test_feeds.py

示例7: test_job_details

    def test_job_details(self):
        schedule_job('details', schedule_in=-1, stuff='baz', other=123)

        self.assertEqual(job_details('details'), {
            'id': 'details',
            'stuff': 'baz',
            'schedule_at': int(time.time()) - 1,
            'other': 123,
        })
开发者ID:brutasse,项目名称:rache,代码行数:9,代码来源:tests.py

示例8: backoff_feed

 def backoff_feed(self, url, error, backoff_factor):
     if backoff_factor == UniqueFeed.MAX_BACKOFF - 1:
         logger.debug(u"{0} reached max backoff period ({1})".format(
             url, error,
         ))
     backoff_factor = min(UniqueFeed.MAX_BACKOFF, backoff_factor + 1)
     schedule_job(url, schedule_in=UniqueFeed.delay(backoff_factor),
                  error=error, backoff_factor=backoff_factor,
                  connection=get_redis_connection())
开发者ID:carrychen,项目名称:feedhq,代码行数:9,代码来源:models.py

示例9: test_remove_keys

    def test_remove_keys(self):
        schedule_job('foobar', schedule_in=-1, attr='stuff', other=12,
                     thing='blah blah')
        jobs = list(pending_jobs())
        self.assertEqual(jobs, [{'id': 'foobar', 'attr': 'stuff',
                                 'other': 12, 'thing': 'blah blah'}])

        schedule_job('foobar', schedule_in=-1, attr=None, other=None,
                     thing='blah blah')
        jobs = list(pending_jobs())
        self.assertEqual(jobs, [{'id': 'foobar', 'thing': 'blah blah'}])
开发者ID:brutasse,项目名称:rache,代码行数:11,代码来源:tests.py

示例10: test_legacy_redis

    def test_legacy_redis(self):
        connection = redis.Redis(**REDIS)
        for i in range(10):
            schedule_job('foo{0}'.format(i), schedule_in=-1,
                         connection=connection)

        jobs = list(pending_jobs(connection=connection, reschedule_in=-1))
        self.assertEqual(len(jobs), 10)

        jobs = list(pending_jobs(connection=r, reschedule_in=-1))
        self.assertEqual(len(jobs), 10)
开发者ID:brutasse,项目名称:rache,代码行数:11,代码来源:tests.py

示例11: test_reschedule

    def test_reschedule(self):
        schedule_job('baz', schedule_in=-1)
        schedule_job('foo', schedule_in=10)
        jobs = list(pending_jobs(reschedule_in=20))
        self.assertEqual(jobs, [{'id': 'baz'}])

        schedule = list(scheduled_jobs(with_times=True))
        foo = schedule[0]
        baz = schedule[1]
        self.assertEqual(foo[0], ('foo'))
        self.assertEqual(baz[0], ('baz'))
        self.assertEqual(foo[1] + 10, baz[1])
开发者ID:brutasse,项目名称:rache,代码行数:12,代码来源:tests.py

示例12: test_uniquefeed_model

    def test_uniquefeed_model(self, get):
        get.return_value = responses(304)
        FeedFactory.create(url='http://example.com/' + 'foo/' * 200)
        unique = UniqueFeed.objects.get()
        self.assertEqual(len(unique.truncated_url()), 50)

        unique.delete()

        FeedFactory.create(url='http://example.com/foo/')
        unique = UniqueFeed.objects.get()
        self.assertEqual(len(unique.truncated_url()), len(unique.url))

        unique = UniqueFeed(url='http://foo.com')
        self.assertEqual('%s' % unique, 'http://foo.com')

        self.assertIs(UniqueFeedManager.entry_data({}, None), None)

        unique.schedule()
        details = unique.job_details
        at = details.pop('schedule_at')
        details.pop('last_update')
        self.assertEqual(details, {
            u"backoff_factor": 1,
            u"subscribers": 1,
            u"id": "http://foo.com",
        })
        details['schedule_at'] = at
        self.assertEqual(unique.job_details['id'], "http://foo.com")

        self.assertTrue(unique.scheduler_data.startswith("{\n"))

        self.assertTrue(unique.next_update > timezone.now())
        self.assertTrue(unique.next_update <
                        timezone.now() + timedelta(seconds=60 * 61))

        schedule_job(unique.url, title='Lol', schedule_in=0)
        del unique._job_details
        details = unique.job_details
        details.pop('schedule_at')
        details.pop('last_update')
        self.assertEqual(details, {
            u"title": u"Lol",
            u"backoff_factor": 1,
            u"subscribers": 1,
            u"id": "http://foo.com",
        })
开发者ID:bdyck,项目名称:feedhq,代码行数:46,代码来源:test_models.py

示例13: schedule

 def schedule(self, schedule_in=None, **job):
     if hasattr(self, '_job_details'):
         del self._job_details
     connection = get_redis_connection()
     kwargs = {
         'subscribers': 1,
         'backoff_factor': 1,
         'last_update': int(time.time()),
     }
     kwargs.update(job)
     if schedule_in is None:
         try:
             for attr in self.JOB_ATTRS:
                 if attr in self.job_details:
                     kwargs[attr] = self.job_details[attr]
             schedule_in = self.schedule_in
         except JobNotFound:
             schedule_in = self.delay(kwargs['backoff_factor'])
     schedule_job(self.url, schedule_in=schedule_in,
                  connection=connection, **kwargs)
开发者ID:carrychen,项目名称:feedhq,代码行数:20,代码来源:models.py

示例14: update_feed

def update_feed(url, etag=None, modified=None, subscribers=1,
                request_timeout=10, backoff_factor=1, error=None, link=None,
                title=None, hub=None):
    from .models import UniqueFeed
    try:
        UniqueFeed.objects.update_feed(
            url, etag=etag, last_modified=modified, subscribers=subscribers,
            backoff_factor=backoff_factor, previous_error=error, link=link,
            title=title, hub=hub)
    except JobTimeoutException:
        backoff_factor = min(UniqueFeed.MAX_BACKOFF,
                             backoff_factor + 1)
        logger.info("job timed out, backing off",
                    url=url, backoff_factor=backoff_factor)
        schedule_job(url, schedule_in=UniqueFeed.delay(backoff_factor),
                     backoff_factor=backoff_factor,
                     connection=get_redis_connection())
    except BaseException as e:
        logger.info("fatal job exception", url=url, exc_info=e)
        raise
开发者ID:feedhq,项目名称:feedhq,代码行数:20,代码来源:tasks.py

示例15: test_schedule_with_id

 def test_schedule_with_id(self):
     with self.assertRaises(RuntimeError):
         schedule_job('testing', schedule_in=1, id=12)
开发者ID:brutasse,项目名称:rache,代码行数:3,代码来源:tests.py


注:本文中的rache.schedule_job函数示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。