草庐IT

celery_worker

全部标签

python - 使用 Celery 创建动态队列

这是我的场景:当用户登录到我的网站时,我会为给定用户排队一堆任务(通常每个任务需要100毫秒,每个用户有100多个任务)。这些任务排队到默认的Celery队列,我有100多个工作人员在运行。当任务在后端完成时,我使用websockets向用户显示实时进度。如果我只有1或2个活跃用户,生活会很美好。现在,如果我有几个并发用户登录到我的站点,则后面的用户会排在初始用户之后,他们的任务就会饿死(因为所有任务都进入同一个队列)。我的想法是为每个用户创建一个动态队列以确保公平。然而,根据Celery文档(http://docs.celeryproject.org/en/latest/usergu

python - celery 。减少进程数

有什么办法可以限制celery中的worker数量吗??我有小型服务器,celery总是在1个核心处理器上创建10个进程。我想将这个数字限制为3个进程。 最佳答案 我尝试在我的settings.py文件中将并发设置为1并将max_tasks_per_child设置为1并同时运行3个任务。它只生成1个进程作为用户,另外2个进程作为celery。它应该只运行1个进程,然后等待它完成,然后再运行另一个进程。我正在使用djangocelery。编辑{我通过在settings.py文件中写入CELERYD_CONCURRENCY=1来分配并发

python - RuntimeError : 'list' must be None or a list, not <class 'str' > while trying to start celery worker

我正在尝试在关注FirstStepsWithDjango时添加celery任务但我收到以下错误:Traceback(mostrecentcalllast):File"/Users/amrullahzunzunia/virtualenvs/flyrobe_new/bin/celery",line11,insys.exit(main())File"/Users/amrullahzunzunia/virtualenvs/flyrobe_new/lib/python3.5/site-packages/celery/__main__.py",line30,inmainmain()File"/Us

javascript - HTML5 Web Worker 是线程还是进程?

来自Mozilla文档:WebWorkersisasimplemeansforwebcontenttorunscriptsinbackgroundthreads.考虑到Javascript是单线程的,webworker是单独的线程还是进程?是否有将它们归类为线程的共享内存? 最佳答案 它们在后台运行threads,但API完全从实现中抽象出来,因此您可能会遇到一个浏览器,它只是将它们安排在与其他事件相同的线程上运行,就像Node所做的那样。进程太重,无法运行后台任务。 关于javascr

javascript - 具有多个参数的 HTML 5 网络 worker

我刚接触HTML5webworkers,现在我想将多个参数传递给我的worker。我的页面中有这个:varusername=document.getElementById("username").value;varserver_url='localhost';w.postMessage(username,server_url);这是我的worker:varusername='';varserver_url='';onmessage=function(e,f){username=e.data;server_url=f.data;}console.log(username);console

javascript - 处理 imageData 的 Web worker 使用 Firefox 而不是 Chrome

当我运行处理将imageData传递给网络worker然后返回的代码时,Firefox运行良好但Chrome给出“未捕获错误:DATA_CLONE_ERR:DOM异常25”谷歌搜索表明旧版本的Chrome曾经可以工作?我又检查了一些,似乎我需要在发送图像数据之前在图像数据上运行JSON.stringify和JSON.parse,但随后它在任何地方都停止工作。在FF9中工作的代码是:图像.js:varmyImageData=context.getImageData(0,0,canvas.width,canvas.height).data;varworker=newWorker("http

html - 强制重新加载/阻止 Web Worker 的缓存

我注意到即使您强制重新加载页面(SHIFT+F5等),大多数浏览器(尤其是Chrome)似乎仍会缓存网络worker脚本。我发现强制更新缓存的唯一可靠方法是将工作脚本的路径键入地址栏并单独强制重新加载它。显然,在尝试开发任何东西时,这都是一种皇家痛苦。有谁知道一种可靠的方法来阻止浏览器缓存工作脚本或强制它以简单的方式重新加载它们? 最佳答案 一个老问题,也是我今天使用的一个老解决方案。开发时,创建webworker,并在worker文件中添加一个随机数查询字符串:varworker=newWorker('path/to/worker

html - 如何从 Web Worker 内部访问 document.cookie?

既然WebWorker无法访问document对象,我如何才能在worker脚本中访问c​​ookie?背景我正在使用Django,我需要在AJAX帖子中传递CSRFtoken。执行此操作的标准方法是从document.cookie获取token并将其作为header传递:xhr.setRequestHeader('X-CSRFToken',readCookie('csrftoken'));(source)Webworker支持XMLHttpRequest并且他们似乎将cookie发送到服务器,但我找不到在脚本本身中获取cookie的方法。 最佳答案

javascript - 在网络 worker 中填充 `window` 和 `document`

是否存在以在初始化后不使用DOM但具有兼容接口(interface)的方式实现window和document对象的解决方案?它们对于在WebWorker中使用MathJax等重量级库非常有用。 最佳答案 有一些方法可以在workers中进行DOM操作:在worker中导入一个DOM副本(非常糟糕的性能),将“文档字符串”解析为新的DOM(性能非常差)和向浏览器发送和接收DOM操作命令(最佳解决方案)。这可能看起来很愚蠢,但您只需将“DOM相关函数”的参数发送到浏览器并将结果返回给您的工作人员即可;

javascript - 限制 Web Worker CPU 利用率?

我正在考虑使用WebWorker编写一个长时间运行的CPU密集型操作,似乎确实有可能将客户端的CPU使用率提高到100%。(参见CanWebWorkersutilize100%ofamulti-coreCPU?)有谁知道有什么有效的方法可以限制webworker的CPU使用率吗? 最佳答案 确实有办法。构建您的计算,以便它们可以通过重复调用在退出前执行部分工作的函数来完成。在退出之前,使用setTimeout在几毫秒内安排对辅助函数的新调用。可以调整等待时间以使用更少或更少的CPU时间。functiondoWork(){vartim