草庐IT

celery_worker

全部标签

rest - 戈朗 : web service that monitors worker goroutine

假设我正在用golang编写一个REST网络服务。在内部,我有几个workergoroutine可以做事。这样的goroutine由HTTPAPI按需触发。当然,我想以某种方式监视这些goroutines的进度。通常goroutine会有一个channel来发送更新、错误等。主程序会在这些channel上执行select。但是,由于主程序的偶数循环忙于http.ListenAndServe(),我看不到实现这一点的方法。鉴于这似乎是一个很常见的问题,我想知道是否缺少一种设计模式。[编辑]一些更多的技术细节。所以我有一个管理资源池的Resource类。Resource.DoSomethi

rest - 戈朗 : web service that monitors worker goroutine

假设我正在用golang编写一个REST网络服务。在内部,我有几个workergoroutine可以做事。这样的goroutine由HTTPAPI按需触发。当然,我想以某种方式监视这些goroutines的进度。通常goroutine会有一个channel来发送更新、错误等。主程序会在这些channel上执行select。但是,由于主程序的偶数循环忙于http.ListenAndServe(),我看不到实现这一点的方法。鉴于这似乎是一个很常见的问题,我想知道是否缺少一种设计模式。[编辑]一些更多的技术细节。所以我有一个管理资源池的Resource类。Resource.DoSomethi

celery笔记七之周期/定时任务及crontab定义

本文首发于公众号:Hunter后端原文链接:celery笔记七之周期/定时任务及crontab定义periodictask,即为周期,或者定时任务,比如说每天晚上零点零分需要运行一遍某个函数,或者每隔半小时运行一遍该函数,都是这种任务的范畴。在第一篇笔记的时候我们就介绍过celery的组件构成,其中有一个组件叫做beat,就是我们定时任务的调度器。所有的定时任务都由beat发出,这种情况下,你必须确保在同一个时间点只有一个beat任务调度器在运行,假设有两个beat同时在运行,那么在检测定时任务的时候,系统的任务就可能会被重复发起、调用、执行。beat_schedule定义beat启动cron

celery笔记六之worker介绍

本文首发于公众号:Hunter后端原文链接:celery笔记六之worker介绍前面我们介绍过celery的理想的设计方式是几个worker处理特定的任务队列的数据,这样可以避免任务在队列中的积压。这一篇笔记我们介绍一下如何使用worker提高系统中任务的处理效率。worker启动worker与队列worker检测其他worker命令1、worker启动前面介绍过worker的启动方式,在celery配置文件的上一级目录运行下面的命令:celery-Ahunterworker-lINFO其中,-l表示日志等级,相当于是--loglevel=INFOcelery-Ahunterworker--l

celery笔记五之消息队列的介绍

本文首发于公众号:Hunter后端原文链接:celery笔记五之消息队列的介绍前面我们介绍过task的处理方式,将task发送到队列queue,然后worker从queue中一个个的获取task进行处理。task的队列queue可以是多个,处理task的worker也可以是多个,worker可以处理任意queue的task,也可以处理指定queue的task,这个我们在介绍queue的时候再做介绍。这一篇我们来介绍一下存储task的队列queue。默认队列task_default_queue定义队列将task指定到队列queue消费以下的操作都是在Django系统的配置中使用。1、默认队列ta

Python 异步 : Running subprocess_exec on a worker thread

所以我使用Pythonasyncio模块(在Linux上)启动子进程,然后异步监视它。我的代码工作正常...在主线程上运行时。但是当我在工作线程上运行它时,它挂起,并且永远不会调用process_exited回调。我怀疑这实际上可能是某种未记录的缺陷或在工作线程上运行subprocess_exec的问题,可能与实现如何处理后台线程中的信号有关。但也可能是我把事情搞砸了。一个简单的、可重现的例子如下:classMyProtocol(asyncio.SubprocessProtocol):def__init__(self,done_future):super().__init__()sel

Python 异步 : Running subprocess_exec on a worker thread

所以我使用Pythonasyncio模块(在Linux上)启动子进程,然后异步监视它。我的代码工作正常...在主线程上运行时。但是当我在工作线程上运行它时,它挂起,并且永远不会调用process_exited回调。我怀疑这实际上可能是某种未记录的缺陷或在工作线程上运行subprocess_exec的问题,可能与实现如何处理后台线程中的信号有关。但也可能是我把事情搞砸了。一个简单的、可重现的例子如下:classMyProtocol(asyncio.SubprocessProtocol):def__init__(self,done_future):super().__init__()sel

linux - Spark配置,SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY、SPARK_WORKER_MEMORY有什么区别?

我完成了工作,阅读了https://spark.apache.org/docs/latest/configuration.html上的文档inspark-folder/conf/spark-env.sh:SPARK_DRIVER_MEMORY,Master内存(例如1000M、2G)(默认:512Mb)SPARK_EXECUTOR_MEMORY,每个Worker的内存(例如1000M、2G)(默认值:1G)SPARK_WORKER_MEMORY,设置worker必须给执行者的总内存量(例如1000m、2g)以上3个参数是什么关系?据我了解,DRIVER_MEMORY是主节点/进程可以请

linux - Spark配置,SPARK_DRIVER_MEMORY、SPARK_EXECUTOR_MEMORY、SPARK_WORKER_MEMORY有什么区别?

我完成了工作,阅读了https://spark.apache.org/docs/latest/configuration.html上的文档inspark-folder/conf/spark-env.sh:SPARK_DRIVER_MEMORY,Master内存(例如1000M、2G)(默认:512Mb)SPARK_EXECUTOR_MEMORY,每个Worker的内存(例如1000M、2G)(默认值:1G)SPARK_WORKER_MEMORY,设置worker必须给执行者的总内存量(例如1000m、2g)以上3个参数是什么关系?据我了解,DRIVER_MEMORY是主节点/进程可以请

linux - Django celery socket.error : [Errno 111] Connection refused

在我的生产服务器上运行命令celerystatus时出现此错误:但是,Celery工作并且worker确实在运行,这个错误是什么,为什么我不能运行这个命令?ubuntu@ip-10-32-9-39:/srv/project/logs/celery$celerystatusTraceback(mostrecentcalllast):File"/usr/local/bin/celery",line9,inload_entry_point('celery==3.0.11','console_scripts','celery')()File"/usr/local/lib/python2.7/d