自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

李兵的专栏

长风破浪会有时,直挂云帆济沧海

  • 博客(21)
  • 收藏
  • 关注

原创 PhotoShop Notes

从总体上说,PS 的功能主要分为两大类:一个是区域选择,一个是色彩调整。这两大类内容的实际操作手法非常丰富,比如选择里有选框工具、套索工具、魔棒工具、蒙版,而选框里又有矩形选框、椭圆选框、单行选框、单列选框等。使得我们的操作可以非常的灵活多变,为了达到一种效果可以使用多种手段。两大内容也有自己的难点,比如选择中的难点算是蒙版了,蒙版也有很多种类:快速蒙版、图层蒙蔽、矢量蒙版、剪切蒙版,还有alpha

2017-11-27 17:32:49 668

翻译 Celery-4.1 用户指南: Extensions and Bootsteps

自定义消息消费者你可能想要嵌入自定义的 Kombu 消费者来手动处理你的消息。为了达到这个目的,celery 提供了一个 ConsumerStep bootstep 类,你只需要定义 get_consumers 方法,它必须返回一个 kombu.Consumer 对象的列表,当连接建立时,这些对象将会启动。from celery import Celeryfrom celery import bo

2017-11-24 15:41:13 1973

原创 Celery3 迁移到 celery4 遇到的问题

今天将老项目中的 celery3 更新到 celery4。出现了一些问题,这里做一个记录,方便以后查看。如果有人也遇到同样的问题,可以作为参考,少走弯路。更新最简单的更新方式当然是pip, ;)pip install -U celery==4.1.0遇到的问题kombu.exceptions.EncodeError: Object of type 'Message' is not JSON seri

2017-11-24 11:35:31 7743 2

翻译 Celery-4.1 用户指南:Testing with Celery

任务与单元测试在单元测试中测试任务行为的推荐方法是用mocking。Eager mode: task_always_eager 设置启用的 eager 模式不适用于单元测试。当使用eager模式,你只是测试工作单元中发生的行为的一个模拟,而实际所发生的和模拟的有许多不同。Celery 任务就像一个web视图,它只定义在任务被调用的上下文环境中怎样执行操作。这意味着任务只处理如序列化、消息头、重试等

2017-11-24 10:42:05 2125

翻译 Celery-4.1 用户指南: Signals

基础有多种类型的事件可以触发信号,你可以连接到这些信号,使得在他们触发的时候执行操作。连接到 after_task_publish 信号的示例:from celery.signals import after_task_publish@after_task_publish.connectdef task_sent_handler(sender=None, headers=

2017-11-23 18:10:13 4312

翻译 Celery-4.1 用户指南: Concurrency

Release: 4.1 Date: 2017年8月18日使用 Eventlet 实现并发简介Eventlet 的主页对它进行了描述;它是一个python的并发网络库,可以让你更改如何运行你的代码而不是怎么编写代码。对高可扩展非阻塞IO操作,它使用 epoll或者libevent。Coroutines 使得开发者使用一个类似于线程的阻塞式编程风格,但是却能提供非阻塞IO的好处。事件的分发是隐

2017-11-22 17:40:44 3999

翻译 Celery-4.1 用户指南: Debugging

远程调试任务(pdb)基础celery.contrib.rdb 是 pdb 的一个扩展版本,它支持不通过终端访问就可以远程调试进程。示例:from celery import taskfrom celery.contrib import rdb@task()def add(x, y): result = x + y rdb.set_trace() # <- set break-

2017-11-22 17:19:07 2746

翻译 Celery-4.1 用户指南: Optimizing

简介默认的配置做了很多折中考虑。它不是针对某个情况优化的,但是大多数情况下都工作的非常好。基于一个特殊的使用场景,有很多优化可以做。优化可以应用到运行环境的不同属性,可以是任务执行的时间,使用的总内存数,或者是高负载时的响应时间。Ensuring操作在Programming Pearl这本书中,Jon Bentley 通过 一天有多少水从密西西比河流出? 这个问题提出了back-of-the-env

2017-11-22 13:37:48 3617

翻译 Celery-4.1 用户指南: Security

简介虽然Celery 编写的时候考虑了安全,但是它仍然应该认为是一个不安全的组件。依据安全策略,你可以采取几个步骤使得你的 Celery 安装更加安全。关注的领域消息中间件保障消息中间件不受不想要的访问是必须的,特别当它可以从外面访问时。默认情况下,工作单元确信他们从消息中间件后去的数据没有被篡改过。查看消息签名这一节获取更多如何使消息中间件连接更可信的信息。第

2017-11-22 12:46:00 1119

翻译 Celery-4.1 用户指南: Monitoring and Management Guide

简介Celery 提供了监控和探查celery集群的工具。这篇文档描述了一些工具,以及与监控相关的一些特性,例如事件和广播命令。工作单元命令行管理工具(inspect/control)Celery 可以用来探查和管理工作单元节点(以及一定程度上对任务管理)。列出所有可用的命令:$ celery help或者对指定的命令获取帮助:$ celery <command> --help命令shell: 进

2017-11-21 15:10:08 5858 1

翻译 Celery-4.1 用户指南: Periodic Tasks

简介celery beat 是一个调度器;它以常规的时间间隔开启任务,任务将会在集群中的可用节点上运行。默认情况下,入口项是从 beat_schedule 设置中获取,但是自定义的存储也可以使用,例如在 SQL 数据库中存储入口项。你必须保证一个调度一次只被一个调度器运行,否则将会形成重复任务。使用中央集权的方式意味着调度不需要被同步,并且服务可以在没有锁的情况下操作。时区默认情况下,周期性任务使用

2017-11-21 11:00:21 7360

翻译 Celery-4.1 用户指南: Routing Tasks

注意: 像主题和扇出之类的路由概念并不对所有传输介质都可用,请翻阅”传输比较表”。基础Automatic routing路由最简单的方式是使用 task_create_missing_queues 设置(默认启用)。使用这个设置,一个还没有在 task_queues 中定义的有名队列将会自动被创建。这使得进行简单的路由任务非常容易。假如你有两台服务器,x 和 y 处理常规任务,还有一台服务器 z,

2017-11-20 22:49:17 5122 2

翻译 Celery-4.1 用户指南: Daemonization

Generic init-scripts查看Celery发布里的 extra/generic-init.d/ 文件夹。这个文件夹中包含了celery worker 程序的通用bash初始化脚本,可以运行在 Linux, FreeBSD, OpenBSD, 以及其他类Unix平台。Init-script: celerydUsage: /etc/init.d/celeryd {start|stop|r

2017-11-20 15:15:51 4470

翻译 Celery-4.1 用户指南: Workers Guide

启动工作单元停止工作单元重启工作单元处理信号文件路径中的变量并行远程控制命令时间限制速率限制每个孩子的最大任务数每个孩子的最大内存自动扩展队列探查工作单元附加命令编写自己的远程控制命令

2017-11-20 11:08:20 5806

翻译 Celery-4.1 用户指南: Canvas-设计工作流

签名PartialsImmutabilityCallbacks原语ChainsGroupsChordsMap & StarmapChunks

2017-11-18 20:44:44 5440

翻译 Celery-4.1 用户指南: Calling Tasks

基础本文档描述 Celery 中任务实例和 Canvas 使用的统一 “Calling API”。API 中定义了一个执行选项的标准集,以及三个方法: - apply_async(args[, kwargs[, ...]]) 发送任务消息 - delay(*args, **kwargs) 发送任务消息的简写,不支持执行选项 - calling(__call__) 直接调用任务对象,意味着

2017-11-17 17:35:45 10613

翻译 Celery-4.1 用户指南: Task

任务是构建 celery 应用的基础块。任务是可以在任何除可调用对象外的地方创建的一个类。它扮演着双重角色,它定义了一个任务被调用时会发生什么(发送一个消息),以及一个工作单元获取到消息之后将会做什么。每个任务都有不同的名称,发给 celery 的任务消息中会引用这个名称,工作单元就是根据这个名称找到正确的执行函数。任务消息只有在被工作单元确认后才会从队列中删除。工作单元会预先保存许多

2017-11-16 14:06:11 25276 1

翻译 Celery-4.1 用户指南: Application

ApplicationCelery 库在使用之前必须初始化,一个celery实例被称为一个应用(或者缩写 app)。Celery 应用是线程安全的,所以多个不同配置、不同组件、不同任务的 应用可以在一个进程空间里共存。下面创建一个 celery 应用:>>> from celery import Celery>>> app = Celery()>>> app<Celery __main__:0

2017-11-15 18:42:06 11155 2

原创 RUST NOTES

toolsrustup, like pyenv for python and rvm for rubyracer, like gocode for golangrusty-tags, like gotags

2017-11-14 13:48:44 246

翻译 SBT-detailed-topics:命令行

英文原文地址:http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Command-Line-Reference.html    本文对SBT下的命令行选项、命令和任务给出相对全面的描述,你可以在SBT的交互式提示符或者SBT批处理模式下使用。可以先翻阅Running in the Getting Started Guidez 做个预备,

2017-11-14 13:47:15 354

原创 Celery 浅析

Celery 是用python实现的一个分布式的任务处理系统,对于需要高可用异步处理的系统来说是它一个不错的选择。本来想实现一个分布式任务处理系统,当看到celery后感觉没有必要再自己写,需要的功能都已经实现,系统的各方面都考虑的比较周全,官方文档也很完善,而且社区活跃度也很高,据官网描述已经有一些公司在生产环境应用。本文对 celery 的基础知识进行一个简单介绍。主要组件broker 消息

2017-11-14 13:42:01 1371 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除