首页   注册   登录
 Stony 最近的时间轴更新

Stony

V2EX 第 20815 号会员,加入于 2012-05-15 13:26:47 +08:00
预售 Project Tango 的平板
二手交易  •  Stony  •  2014-12-16 00:41:00 AM  •  最后回复来自 Leask
3
Stony 最近回复了
2017-08-03 00:36:30 +08:00
回复了 akmonde 创建的主题 Python celery 每个 worker 在执行任务时,如何配置一定数量的 task?
http://docs.celeryproject.org/en/latest/userguide/configuration.html
参数配置都在这里,新旧配置的 key 对照表也有。

CELERYD_PREFETCH_MULTIPLIER = n
worker_prefetch_multiplier = n
这个是任务预取功能,就是每个工作的进程/线程/绿程在获取任务的时候,会尽量多拿 n 个,以保证获取的通讯成本可以压缩,在每个任务很短(明显小于 1 秒)情况下,是值得调大的,而且推荐是 2 的幂。0 表示尽可能多拿。如果 1 个都不想多拿,那么除了设置 1 外,还需要 设置 task_acks_late 为 true,如果你的任务不是幂等(可以重复调用)的话,可能会有问题。详细解释参考: http://docs.celeryproject.org/en/latest/userguide/optimizing.html
task_acks_late = True
worker_prefetch_multiplier = 1


CELERYD_MAX_TASKS_PER_CHILD = n
worker_max_tasks_per_child = n
这个表示每个工作的进程/线程/绿程 在执行 n 次任务后,主动销毁,之后会起一个新的。主要解决一些资源释放的问题。

CELERY_TASK_RESULT_EXPIRES = s
result_expires = s
这个表示保存任务结果的时长,这个时间会被设置到 redis 里面(假设 backend 是 redis ),如果抓取数据量大的话,是可以缩短保存的时间,节省 backend 的资源( redis 主要是内存)消耗,默认是 24 小时( 86400 ),单位是秒。


===分割线===
已经 fetch 的任务,要么等执行完毕,要么等 kill 掉。要注意 soft kill 和 hard kill 的区别,没记错的话是 TERMINAL 和 kill -9 的区别。soft kill 会执行完当前的 task,但是,prefetch 的会丢失。在 pycharm 里,我第一次 ctrl+c 是软 kill,可能会等上一会儿,第二次 ctrl+c 是硬 kill,直接停掉进程。

没有 fetch 的任务可以 purge 清理调队列中的。

根据选择的 pool 类型不同,可以有 solo (单进程) prefork (进程池) threading (线程池) gevent (协程池)和 eventlet (协程池)。4.x 好像废弃了线程池,主要的原因我猜可能和 GIL 有关。进程池比较耗内存,好处是所有工作线程资源都是隔离的,如果配置动态数量的挺好用。协程池 则对于 IO 密集型工作比较有优势。所有的并发数量默认是 cpu core 的数量,4 核就是 4,可以根据实际情况调大。
感觉好符合啊,哈哈哈
2015-02-10 15:08:45 +08:00
回复了 XadillaX 创建的主题 Node.js 查快递的 CLI 来啦! xto 包。
@fanzeyi 猜不出来,我抽样的几张,条码的编码方式和单号的数字长度都是一致的……如果没有定义数字前缀的含义的话,就没法猜了。
原则上,工具类只负责工具功能,不负责跳转,跳转交给viewcontroller来干:
viewcontroller调用其他功能
viewcontroller调用工具功能
viewcontroller负责跳转

如果你的工具类专管跳转,那么有2个选择:
1 如果不是核心跳转模块,那么把调用时的self(viewcontroller)作为参数传入。
2 如果是核心跳转模块,那么应该维护一个viewcontroller的堆栈(参考UINavicationController)。
2015-02-10 10:39:17 +08:00
回复了 thonatos 创建的主题 Node.js nodejs 的 mvc,代码组织的方式怎么更合理?
nodejs 的MVC结构,参考 sailsjs 吧。
MVC的问题就是有时候觉得拆分太细,增加一个功能,基本是 M V C都要改,特别是 V 和 C,因为功能展现的界面不一定是一个,所以是多组 V 和 C 都要改,动不动就好多个文件,很繁琐。
MVC的优点嘛,等你要维护一个功能就发现了,不管是调试还是修改,代码流非常简单统一,有bug很容易定位,找关键词就能把相关的代码都找出来,嗯,你之前的努力现在得到了成果。
2015-01-20 22:38:36 +08:00
回复了 Jelen 创建的主题 程序员 App 服务端和客户端设计架构问题
一般不需要长链接。

常见的做法是
请求,显示

复杂的做法就是
请求 缓存 显示
当然正确的顺序是
检查缓存 显示 请求 合并缓存 刷新显示

再复杂点就是
配置 交互 请求 缓存 显示
2015-01-20 22:24:12 +08:00
回复了 ideacco 创建的主题 iPhone 自制了一个 iPhone 6 卡转换大卡 卡套教程
别折腾,买一个才1元多,考虑到邮费,我一次买了10多个。。。然后随手送人~
http://detail.tmall.com/item.htm?id=39166970807&spm=a1z09.2.9.22.wcFCEE&_u=kvp1a3cfcf
2015-01-20 21:48:12 +08:00
回复了 philobscur 创建的主题 Apple 谁有 Apple Store 开业抢 T 恤的心得能不能分享介绍一下?
想要保证拿到,请提前一天去排队,带好帐篷、保暖物件,带好娱乐设备。苹果会安排活动供应商协助秩序,协调其他方面,保证你安全过夜。
想凑热闹拿到,当天早点去排队,提前几个小时即可,前多少都有衣服。

排在第一可以受到特别的礼遇,第二和第500没啥区别。

我上海排了3家店,都提前1天去的,认识了不少有趣的人。最近冬天,过夜有点冷,多准备点东西吧。
2015-01-05 10:03:25 +08:00
回复了 Chigogo 创建的主题 分享发现 真不知道,阿里为什么这么流氓
MAS上的是沙盒版本,没法这样做的……连浏览器扩展都要用户手动安装才能点击网页旺旺按钮打开Mac 旺旺。

有直接安装的非沙盒版本,内置浏览器插件。

@Chigogo 你如果用的是MAS的沙盒版本,绝对不是Mac旺旺干的……你要检查一下是否有其他原因,很大可能是日程软件里面的某个邮件带了一个app附件。你有没有通过邮件和朋友交流过app软件的习惯呢?

从国内软件的水平来评价这款 Mac旺旺,已经是很小清新了。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   980 人在线   最高记录 5043   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.3 · 13ms · UTC 21:17 · PVG 05:17 · LAX 13:17 · JFK 16:17
♥ Do have faith in what you're doing.