【python – 运行定期任务】教程文章相关的互联网学习教程文章

python – asyncio:loop.run_until_complete(loop.create_task(f))打印“从未检索到任务异常”,即使它已被传播【代码】

由于某种原因,该程序打印以下警告:Task exception was never retrieved future: <Task finished coro=<coro() done, defined at /usr/lib64/python3.4/asyncio/coroutines.py:139> exception=SystemExit(2,)>即使异常被清楚地检索和传播,就像捕获SystemExit一样!打印到终端,进程状态代码变为2. Python 2和trollius也是如此. 我错过了什么吗?#!/usr/bin/env python3import asyncio@asyncio.coroutine def comain():raise SystemE...

python – 在Google App Engine中禁用任务队列重试【代码】

有没有办法禁用失败的任务的重试选项?它不可能在queue.yaml中执行此操作retry_parameters:task_retry_limit: 0还有其他选项可以禁用重试吗?解决方法:如果将task_retry_limit设置为0,则可以尝试检查task queue header X-AppEngine-TaskRetryCount,如果它不为零则中止.

python – Tuple在任务中解压缩【代码】

我想在python声明中解压缩一个元组,如下所示:a = 5, *(6,7)但这引发了一个SyntaxError.实现这样的目标最简洁的方法是什么? 到目前为止我提出的最好的是:a = tuple([5]+list((6,7)))解决方法:你可以直接连接元组:>>> a = (5,)+(6, 7) >>> a (5, 6, 7)

python – 在Django webapp中处理计算密集型任务

我有一个桌面应用程序,我正在移植到Django webapp.该应用程序有一些非常计算密集的部分(使用numpy,scipy和pandas,以及其他库).显然,将计算密集型代码导入webapp并运行它并不是一个好主意,因为这将迫使客户端等待响应. 因此,您必须将这些任务归于后台进程,该进程通知客户端(我猜测是通过AJAX)和/或在结束时将结果存储在数据库中. 在多个并发用户的情况下,您也不希望所有这些任务同时运行,因为即使只有少量并发请求,这也是让您的服务...

python – 轮询芹菜任务并返回显示【代码】

我是芹菜的新手.我跟随this example. Views.pydef results(request):documents = Document.objects.all()if request.method == 'POST':form = DocumentForm(request.POST, request.FILES)if form.is_valid():data = form.cleaned_data['name']print 'data', datanewdoc = Document(docfile=request.FILES['docfile'])newdoc.save()#send it to celery documents = Document.objects.all()return render_to_response('results.html...

python – Google App Engine:如何使用任务队列进行此处理?

我正在使用Python GAE SDK. 我需要在6000个MyKind实例上进行一些处理.在单个请求中执行速度太慢,因此我正在使用任务队列.如果我只对一个实体进行单个任务处理,那么它应该只需几秒钟. documentation表示只能在“批处理”中添加100个任务. (他们的意思是什么?在一个请求中?在一个任务中?) 因此,假设“批处理”意味着“请求”,我试图找出为数据存储区中的每个实体创建任务的最佳方法.你怎么看? 如果我可以假设MyKind的顺序永远不会...

python – Celery-Supervisor:如何重新启动主管工作以使新更新的芹菜任务正常工作?【代码】

我的celery服务器有一个正在运行的主管工作.现在我需要向它添加一个新任务,但遗憾的是我的celery服务器命令未配置为自动跟踪这些动态更改. 这是我的芹菜命令:python manage.py celery worker --broker=amqp://username:password@localhost/our_app_vhost为了重启我的芹菜过程,我试过了,sudo supervisorctl -c /etc/supervisor/supervisord.conf restart <process_name> supervisorctl stop all supervisorctl start all service s...

python – Django应用程序尚未加载Celery任务【代码】

下面给出错误的是什么?我不确定这是我安装的应用程序或我的一个应用程序的问题.以下例外仅在运行Celery即celery -A demo.apps.wall.tasks worker时生成,runserver不会生成任何错误.哪个应用程序问题?Traceback (most recent call last):File "/Users/user/Documents/workspace/demo-api/env/bin/celery", line 11, in <module>sys.exit(main())File "/Users/user/Documents/workspace/demo-api/env/lib/python3.5/site-packages/...

python – 芹菜和长期运行的任务

我只是看a youtube video,主持人提到应该设计他/她的芹菜短.运行几分钟的任务很糟糕. 它是否正确?我所看到的是,我有一个长期运行的任务,需要10分钟才能完成.当频繁安排这些任务时,队列将被淹没,并且没有其他任务被安排.这是什么原因? 如果是这样,应该用于长时间运行的任务?解决方法:长时间运行的任务并不好,但说它们不好是不合适的.处理长时间运行任务的最佳方法是为这些任务创建一个队列,让它们在单独的工作程序上运行,然后运行...

在python上安排任务【代码】

我想运行一个每4小时运行一次函数的程序.这种方式消耗最少的方法是什么?解决方法:我能想到的最简单的方式(在python中,因为帖子用python标记):import timewhile True:do_task()time.sleep(4 * 60 * 60) # 4 hours * 60 minutes * 60 seconds

python locust_TaskSet声明任务的典型方法是使用task装饰器的两种方法

为TaskSet声明任务的典型方法是使用task装饰器。该min_wait和MAX_WAIT属性也可以在使用taskset类中重写。from locust import Locust, TaskSet, task class MyTaskSet(TaskSet):min_wait = 5000max_wait = 15000@task(1)def my_taskone(self):print("executing my_task one")@task(3)def my_tasktwo(self):print("executing my_task tow")使用以下locustfile,每个用户将在任务之间等待5到15秒: class MyLocust(Locust):task_set =...

python – Celery – 通过命令行或HTTP请求激活任务【代码】

我的代码中有一个预定义的celery任务,比如my_proj.tasks.my_celery_task 我想通过命令行/ HTTP请求(而不是通过我的应用程序)激活任务. 我搜索了文件(看到花和卷曲选项),但没有一个真正好的例子,在那里调用预定义的任务.怎么做到这一点?解决方法:假设您已经使用Rabbitmq安装了Celery,这是一个简单的示例. 定义任务:my_app.pyfrom celery import Celeryapp = Celery('tasks', backend='amqp', broker='amqp://')@app.task def add(...

python – 将字符串列表传递给Fabric任务【代码】

我想将一个字符串列表作为参数传递给Fabric任务.例如,对于以下fabfile:def test(names):print names我想通过“fab test:[tom,dick,harry]”并将列表打印出来. 默认情况下这是否可以在结构中执行,或者我是否需要传递字符串并自行拆分? 谢谢!解决方法:一种方法是使用位置args:@task def mytask(*args):print args然后这样调用它:$fab mytask:foo,bar,baz ('foo', 'bar', 'baz')请注意,您将参数作为元组而不是列表获取,但这不应...

python – 使用rpc不会保留Celery任务结果【代码】

我一直试图通过将结果持久化到队列来将Celery任务结果路由到另一个进程,而另一个进程可以从队列中选择结果.因此,已将Celery配置为CELERY_RESULT_BACKEND =’rpc’,但仍未将Python函数返回值保持为队列. 不确定是否需要更改任何其他配置或代码.请帮忙. 这是代码示例: celery.pyfrom __future__ import absolute_importfrom celery import Celeryapp = Celery('proj',broker='amqp://',backend='rpc://',include=['proj.tasks'])# O...

python – django celery只调用2个apply_async任务中的1个【代码】

我需要调用以下2个apply_async任务:escalate.apply_async((e.id), countdown=3) escalate.apply_async((e.id), countdown=3)我的任务实现如下:@app.task def escalate(id, group):escalation_email, created = EscalationEmail.objects.get_or_create()escalation_email.send()return 'sup email sent'我使用以下命令运行工作:celery -A proj worker -l info --concurrency=10问题是,当我看到工人时,只收到1个任务,然后只有1个成...

运行 - 相关标签