草庐IT

celery_tasks

全部标签

python - 每个重试周期增加 celery 重试时间

我会像Docs-Example中那样使用celery重试:@task()defadd(x,y):try:...exceptException,exc:add.retry(exc=exc,countdown=60)#overridethedefaultand#retryin1minute如何在每次重试此作业时增加重试倒计时-例如60秒、2分钟、4分钟等等,直到MaxRetriesExceeded被提高? 最佳答案 这是一种在每次评估任务时创建更大延迟的简单方法。这个值是由celery自己更新的,所以你不需要自己管理任何东西。@task

python - 如何在 Windows 上运行 celery?

如何在不创建Windows服务的情况下在Windows上运行celeryworker?$celery-Ayour_applicationworker有什么类比吗? 最佳答案 Celery4.0+尚未正式支持窗口。但它仍然适用于某些开发/测试目的的窗口。使用eventlet代替如下:pipinstalleventletcelery-Aworker-linfo-Peventlet它适用于window10+celery4.1+python3。Thissolution解决了以下异常:[2017-11-1621:19:46,938:ERROR

python - 如何使用 celery 安排任务在特定时间执行?

我已经查看了PeriodicTask,但这些示例仅涉及使其重复。我正在寻找类似于cron的能力,即“每周一凌晨1点执行此任务” 最佳答案 使用YourTask.apply_async(args=[some,args,here],eta=when)在你的任务结束时,将它重新安排到它应该运行的下一次。 关于python-如何使用celery安排任务在特定时间执行?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.

python - celery 任务状态总是挂起

总的来说,我对celery和django很陌生,所以请原谅我缺乏知识。我正在尝试运行测试以进行一些计算并等待测试完成,以便我可以确保它完成了正确的答案。这是我所拥有的:在app/tests.py中fromtasksimport*c=calculate.apply_async(args=[1])#waituntilthetaskisdonewhilenotcalculate.AsyncResult(c.id).status=="SUCCESS":printc.statepass在app/tasks.py中fromceleryimportshared_task@shared_taskdef

python - RabbitMQ:Celery 有什么 Pika 没有的?

我一直致力于让一些分布式任务通过RabbitMQ工作。我花了一些时间试图让Celery做我想做的事,但没能成功。然后我尝试使用Pika,结果一切正常,完美无缺,并且在几分钟内完成。使用Pika代替Celery有什么遗漏的吗? 最佳答案 pika提供的只是Celery所做的一小部分。Pika是用于与RabbitMQ交互的Python库。RabbitMQ是一个消息代理;在其核心,它只是向队列发送消息/从队列接收消息。它可以用作任务队列,但也可以仅用于在进程之间传递消息,而无需实际分配“工作”。Celery实现了一个分布式任务队列,可选择

python - 如何在生产中将 celery 作为守护进程运行?

我从这里的代码在/etc/defaults/中创建了一个celeryd文件:https://github.com/celery/celery/blob/3.0/extra/generic-init.d/celeryd现在,当我想将celeryd作为守护进程运行并执行以下操作时:sudo/etc/init.d/celerdy它说找不到命令。我哪里错了? 最佳答案 我不确定你在这里做什么,但这些是将celery作为守护进程运行的步骤。您在链接中引用的文件https://github.com/celery/celery/blob/3.0/

python - 开始 celery : AttributeError: 'module' object has no attribute 'celery'

我尝试从命令行启动Celery工作服务器:celery-Atasksworker--loglevel=infotasks.py中的代码:importosos.environ['DJANGO_SETTINGS_MODULE']="proj.settings"fromceleryimporttask@task()defadd_photos_task(lad_id):...我得到下一个错误:Traceback(mostrecentcalllast):File"/usr/local/bin/celery",line8,inload_entry_point('celery==3.0.12','c

python - 如何在python中用 celery 清除特定队列的所有任务?

如何在python中使用celery清除特定队列的所有计划和正在运行的任务?这些问题似乎很简单,但要补充的是,我不是在寻找命令行代码我有以下行,它定义了队列并希望清除该队列以管理任务:CELERY_ROUTES={"socialreport.tasks.twitter_save":{"queue":"twitter_save"}}在某个时间点,我想使用python代码清除quetwitter_save中的所有任务,也许使用广播功能?我找不到有关此的文档。这可能吗? 最佳答案 只是为了更新celery3.1的@SamStoelinga

python - 取消任务后请解释 "Task was destroyed but it is pending!"

我正在使用Python3.4.2学习asyncio,并使用它在IPC总线上持续监听,而gbulb在DBus上监听。我创建了一个函数listen_to_ipc_channel_layer,它持续监听IPCchannel上的传入消息并将消息传递给message_handler。我也在听SIGTERM和SIGINT。当我向运行您在底部找到的代码的python进程发送SIGTERM时,脚本应该正常终止。我遇到的问题是以下警告:gotsignal15:exitTaskwasdestroyedbutitispending!task:wait_for=>Processfinishedwithexit

python - celery (Redis)结果后端不工作

我有一个使用Django的Web应用程序,并且我正在使用Celery进行一些异步任务处理。对于Celery,我使用Rabbitmq作为代理,使用Redis作为结果后端。Rabbitmq和Redis在本地虚拟机上托管的同一个Ubuntu14.04服务器上运行。Celery工作人员正在远程机器上运行(Windows10)(没有工作人员在Django服务器上运行)。我有三个问题(我认为它们以某种方式相关!)。无论任务成功还是失败,任务都保持在“PENDING”状态。任务在失败时不会重试。尝试重试时出现此错误:rejectrequeue=False:[WinError10061]Noconne