`
如若_晴
  • 浏览: 112286 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

beanstalkd协议解读(中文翻译加个人理解)

阅读更多
原文转自:http://www.tuicool.com/articles/Ib2Urm
时间 2014-09-08 00:10:31  PHPBoy
原文  http://www.phpboy.net/web/953.html
主题 Beanstalkd
最近有需求做全平台的定时器,业务复杂,性能要求高,linux crontab的方式不适用,调研一些支持定时执行的内存队列系统,其中beanstalkd较适合。先将其协议研究一遍,使用就不是问题了。

总括

beanstalkd协议基于ASCII编码运行在tcp上。客户端连接服务器并发送指令和数据,然后等待响应并关闭连接。对于每个连接,服务器按照接收命令的序列依次处理并响应。所有整型值都非负的十进制数,除非有特别声明。

名称约定

所有名称必须是ASCII码字符串,即包括:

字母(A-Z和a-z)

数字(0-9)

加号 +

斜线 /

连字符 -

分号 ;

点 .

美元符号 $

下划线 _

括号 ()

注意:名称不能以连字符开始,并且是以空白字符结束,每个名称至少包含一个字符。

错误说明

返回的错误 描述

OUT_OF_MEMORY\r\n 服务器没有足够的内存分配给特定的job,客户端应该稍后重试

INTERNAL_ERROR\r\n 服务器内部错误,该错误不应该发生,如果发生了,请报告:http://groups.google.com/group/beanstalk-talk.

BAD_FORMAT\r\n 格式不正确,客户端发送的指令格式出错,有可能不是以\r\n结尾,或者要求整型值等等

UNKNOWN_COMMAND\r\n 未知的命令,客户端发送的指令服务器不理解

job的生命周期

一个工作任务job当client使用put命令时创建。在整个生命周期中job可能有四个工作状态:ready,reserved,delayed,buried。在put之后,一个job的典型状态是ready,在ready队列中,它将等待一个worker取出此job并设置为其为reserved状态。worker占有此job并执行,当job执行完毕,worker可以发送一个delete指令删除此job。

状态码 描述

ready 等待被取出并处理

reserved 如果job被worker取出,将被此worker预订,worker将执行此job

delayed 等待特定时间之后,状态再迁移为ready状态

buried 等待唤醒,通常在job处理失败时

job典型的生命周期

put reserve delete ---------> [READY] ----------------> [RESERVED] ------------> *poof*

job可能的状态迁移


Tubes

有名的任务队列,一个服务器有一个或者我个tubes,用来储存统一类型的job。每个tube由一个就绪队列与延迟队列组成。每个job所有的状态迁移在一个tube中完成。consumers消费者可以监控感兴趣的tube,通过发送watch指令。consumers消费者可以取消监控tube,通过发送ignore命令。通过watch list命令返回所有监控的tubes,当客户端预订一个job,此job可能来自任何一个它监控的tube。

当一个客户端连接上服务器时,客户端监控的tube默认为defaut,如果客户端提交job时,没有使用use命令,那么这些job就存于名为default的tube中。

tube按需求创建,无论他们在地方被引用到。如果一个tube变为空(即no ready jobs,no delayed jobs,no buried jobs)和没有任何客户端引用,它将会被自动删除。

指令说明(Commands)

生产者指令说明(Producer Commands)

put

说明

插入一个job到队列

格式

put

\r\n

\r\n

pri 整型值,为优先级,可以为0-2^32,值越小优先级越高,默认为1024。

delay 整型值,延迟ready的秒数,在这段时间job为delayed状态。

ttr 整型值,允许worker执行的最大秒数,如果worker在这段时间不能delete,release,bury job,那么job超时,服务器将release此job,此job的状态迁移为ready。最小为1秒,如果客户端指定为0将会被重置为1。

bytes 整型值,job body的长度,不包含\r\n,这个值必须小于max-job-size,默认为2^16。

data job body

响应

INSERTED \r\n 表示插入job成功,id为新job的任务标识,整型值

BURIED \r\n 如服务器为了增加队列的优先级而,内存不足时返回,id为新job的任务标识,整型值

EXPECTED_CRLF\r\n job body必须以\r\n结尾

JOB_TOO_BIG\r\n job body的长度超过max-job-size

DRAINING\r\n 表示服务器资源耗尽,表示服务器已经进入了“drain mode”,服务器再也不能接受连接,客户端应该使用另一个服务器或者断开稍后重试

use

说明

producer生产者使用,随后使用put命令,将job放置于对应的tube

格式

use \r\n

tube tube的名称,最大为200字节,不存在时将自动创建

响应

USING \r\n tube为正在使用的tube名称

消费者指令说明(Worker Commands)

reserve

说明

取出(预订)job,待处理。它将返回一个新预订的job,如果没有job,beanstalkd将直到有job时才发送响应。一旦job状态迁移为reserved,取出job的client被限制在指定的时间(如果设置了ttr)完成,否则超时,job状态重装迁移为ready。

格式

reserve\r\n

可选的一个相似的命令

reserve-with-timeout \r\n 设置取job的超时时间,timeout设置为0时,服务器立即响应或者TIMED_OUT,积极的设置超时,将会限制客户端阻塞在取job的请求的时间。

响应

DEADLINE_SOON\r\n During the TTR of a reserved job, the last second is kept by the server as a safety margin, during which the client will not be made to wait for another job. If the client issues a reserve command during the safety margin, or if the safety margin arrives while the client is waiting on a reserve command.

TIMED_OUT\r\n 超时

RESERVED

\r\n

\r\n

成功取出job,id为job id,整型值,job body的长度,不包含\r\n,data为job body

delete

说明

从队列中删除一个job

格式

delete \r\n

id为job id

响应

DELETED\r\n 删除成功

NOT_FOUND\r\n job不存在时,或者job的状态不为ready和buried(这种情况是在job执行超时之前,client发送了delete指令)

release

说明

release指令将一个reserved的job放回ready queue。它通常在job执行失败时使用。

格式

release \r\n

id 为job id,pri为job的优先级,delay为延迟ready的秒数

响应

RELEASED\r\n 表明成功

BURIED\r\n 如服务器为了增加队列的优先级而,内存不足时返回

NOT_FOUND\r\n 如果job不存在或者client没有预订此job

bury

说明

将一个job的状态迁移为buried,通过kick命令唤醒

格式

bury \r\n

id为job id,pri为优先级

响应

BURIED\r\n 表明成功

NOT_FOUND\r\n 如果job不存在或者client没有预订此job

touch

说明

允许worker请求更多的时间执行job,这个很有用当job需要很长的时间来执行,worker可用周期的告诉服务器它仍然在执行job(可以被DEADLINE_SOON触发)

格式

touch \r\n

id为job id

响应

TOUCHED\r\n 表明成功 NOT_FOUND\r\n 如果job不存在或者client没有预订此job

watch

说明

添加监控的tube到watch list列表,reserve指令将会从监控的tube列表获取job,对于每个连接,监控的列表默认为default

格式

watch \r\n

tube 为监控的tube名称,名称最大为200字节,如果tube不存在会自动创建

响应

WATCHING \r\n 表明成功

count 整型值,已监控的tube数量

ignore

说明

从已监控的watch list列表中移出特定的tube

格式

ignore \r\n

tube 为移出的tube名称,名称最多为200字节,如果tube不存在会自动创建

响应

WATCHING \r\n 表明成功

count 整型值,已监控的tube数量

NOT_IGNORED\r\n 如果client企图忽略其仅有的tube时的响应

其他指令说明(Other Command)

peek

说明

让client在系统中检查job,有四种形式的命令,其中第一种形式的指令是针对当前使用的tube

格式

peek \r\n 返回id对应的job

peek-ready\r\n 返回下一个ready job

peek-delayed\r\n 返回下一个延迟剩余时间最短的job

peek-buried\r\n 返回下一个在buried列表中的job

响应

NOT_FOUND\r\n 如果job不存在,或者没有对应状态的job

FOUND \r\n \r\n

id 为对应的job id

bytes job body的字节数

data 为job body

kick

说明

此指令应用在当前使用的tube中,它将job的状态迁移为ready或者delayed

格式

kick \r\n

bound 整型值,唤醒的job上限

响应

KICKED \r\n

count 为真实唤醒的job数量

kick-job

说明

kick指令的一个变体,可以使单个job被唤醒,使一个状态为buried或者delayed的job迁移为ready,所有的状态迁移都在相同的tube中完成

格式

kick-job \r\n

id 为job id

响应

NOT_FOUND\r\n 如果job不存在,或者job是不可唤醒的状态

KICKED\r\n 表明成功

stats-job

说明

统计job的相关信息

格式

stats-job \r\n

id 为job id

响应

NOT_FOUND\r\n 如果job不存在

OK \r\n \r\n

bytes 为接下来的data区块的长度

data 为YAML file的统计信息

其中YAML file包括的key有:

id 表示job id

tube 表示tube的名称

state 表示job的当前状态

pri 表示job的优先级

age 表示job创建的时间单位秒

time-left 表示job的状态迁移为ready的时间,仅在job状态为reserved或者delayed时有意义,当job状态为reserved时表示剩余的超时时间。

file 表示包含此job的binlog序号,如果没有开启它将为0

reserves 表示job被reserved的次数

timeouts 表示job处理的超时时间

releases 表示job被released的次数

buries 表示job被buried的次数

kicks 表示job被kiced的次数

stats-tube

说明

统计tube的相关信息

格式

stats-tube \r\n

tube 为对应的tube的名称,最多为200字节

响应

NOT_FOUND\r\n 如果tube不存在

OK \r\n \r\n

bytes 为接下来的data区块的长度

data 为YAML file的统计信息

其中YAML file包括的key有:

name 表示tube的名称

current-jobs-urgent 此tube中优先级小于1024状态为ready的job数量

current-jobs-ready 此tube中状态为ready的job数量

current-jobs-reserved 此tube中状态为reserved的job数量

current-jobs-delayed 此tube中状态为delayed的job数量

current-jobs-bureid 此tube中状态为buried的job数量

total-jobs 此tube中创建的所有job数量

current-using 使用此tube打开的连接数

current-wating 使用此tube打开连接并且等待响应的连接数

current-watching 打开的连接监控此tube的数量

pause 此tube暂停的秒数

cmd-delete 此tube中总共执行的delete指令的次数

cmd-pause-tube 此tube中总共执行pause-tube指令的次数

pause-time-left 此tube暂停剩余的秒数

stats

说明

返回整个消息队列系统的整体信息

格式

stats\r\n

响应

OK \r\n \r\n

bytes 为接下来的data区块的长度

data 为YAML file的统计信息

其中YAML file包括的key有(所有的信息都累积的,自从beanstalkd进程启动以来,这些信息不储存在binlog中):

current-jobs-urgent 优先级小于1024状态为ready的job数量

current-jobs-ready 状态为ready的job数量

current-jobs-reserved 状态为reserved的job数量

current-jobs-delayed 状态为delayed的job数量

current-jobs-bureid 状态为buried的job数量

cmd-put 总共执行put指令的次数

cmd-peek 总共执行peek指令的次数

cmd-peek-ready 总共执行peek-ready指令的次数

cmd-peek-delayed 总共执行peek-delayed指令的次数

cmd-peek-buried 总共执行peek-buried指令的次数

cmd-reserve 总共执行reserve指令的次数

cmd-use 总共执行use指令的次数

cmd-watch 总共执行watch指令的次数

cmd-ignore 总共执行ignore指令的次数

cmd-release 总共执行release指令的次数

cmd-bury 总共执行bury指令的次数

cmd-kick 总共执行kick指令的次数

cmd-stats 总共执行stats指令的次数

cmd-stats-job 总共执行stats-job指令的次数

cmd-stats-tube 总共执行stats-tube指令的次数

cmd-list-tubes 总共执行list-tubes指令的次数

cmd-list-tube-used 总共执行list-tube-used指令的次数

cmd-list-butes-watched 总共执行list-tubes-watched指令的次数

cmd-pause-tube 总共执行pause-tube指令的次数

job-timeouts 所有超时的job的总共数量

total-jobs 创建的所有job数量

max-job-size job的数据部分最大长度

current-tubes 当前存在的tube数量

current-connections 当前打开的连接数

current-producers 当前所有的打开的连接中至少执行一次put指令的连接数量

current-workers 当前所有的打开的连接中至少执行一次reserve指令的连接数量

current-waiting 当前所有的打开的连接中执行reserve指令但是未响应的连接数量

total-connections 总共处理的连接数

pid 服务器进程的id

version 服务器版本号

rusage-utime 进程总共占用的用户CPU时间

rusage-stime 进程总共占用的系统CPU时间

uptime 服务器进程运行的秒数

binlog-oldest-index 开始储存jobs的binlog索引号

binlog-current-index 当前储存jobs的binlog索引号

binlog-max-size binlog的最大容量

binlog-records-written binlog累积写入的记录数

binlog-records-migrated is the cumulative number of records written as part of compaction.

id 一个随机字符串,在beanstalkd进程启动时产生

hostname 主机名

list-tubes

说明

列表所有存在的tube

格式

list-tubes\r\n

响应

OK

\r\n

\r\n

bytes 为接下来的data区块的长度

data 为YAML file,包含所有的tube名称

list-tube-used

说明

列表当前client正在use的tube

格式

list-tube-used\r\n

响应

USING \r\n

tube 为tube名称

list-tubes-watched

说明

列表当前client watch的tube

格式

list-tubes-watched\r\n

响应

OK

\r\n

\r\n

bytes 为接下来的data区块的长度

data 为YAML file,包含所有的tube名称

quit

说明

关闭连接

格式

quit\r\n

pause-tube

说明

此指令针对特定的tube内所有新的job延迟给定的秒数

格式

pause-tube \r\n

响应

PAUSED\r\n 表示成功 NOT_FOUND\r\n tube不存在

原创翻译,英文能力此水平,见谅。ByPHPboy.
分享到:
评论

相关推荐

    A PHP beanstalkd Client-开源

    3. **examples** - 这里应该包含了一些示例代码,展示如何在实际项目中使用这个客户端库,对于初学者或者新用户来说,通过阅读和运行这些例子,可以快速上手并理解如何与Beanstalkd服务器进行通信。 **知识点详解:...

    PHP实例开发源码—思乐直播短视频平台源码.zip

    【PHP实例开发源码—思乐直播短视频平台源码.zip】是一个包含PHP编程语言实现的思乐直播短...而"132679094696034935"可能是一个特定的文件或者目录名,可能包含了具体的代码文件或数据库文件,需要结合实际内容来解读。

    远程debug流程,方便debug

    远程debug流程,方便debug

    基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现

    基于麻雀生物特性的搜索算法(SSA)的Matlab实现:原理、代码与实战应用,基于圈养麻雀特性的搜索算法(SSA)matlab实现:原理、代码与警觉机制解析,麻雀搜索算法(SSA)的matlab实现 原创代码,注释清晰,可直接运行 研究表明,圈养的麻雀存在两种不同类型:发现者和加入者。 发现者在种群中负责寻找食物并为整个麻雀种群提供觅食区域和方向,而加入者则是利用发现者来获取食物。 在生活中我们仔细观察会发现,当群体中有麻雀发现周围有捕食者时,此时群体中一个或多个个体会发出啁啾声,一旦发出这样的声音整个种群就会立即躲避危险,进而飞到其它的安全区域进行觅食。 这样的麻雀被称为警觉者。 麻雀搜索算法就是利用麻雀的这种生物特性进行迭代寻优的优化算法。 本资源包含以下三部分内容: 1.麻雀搜索算法的基本原理(两篇参考文献),非常适合用来学习。 2.麻雀搜索算法的matlab代码,注释详细,结构清晰。 3.五个群智能优化算法常用的测试函数。 ,麻雀搜索算法(SSA); MATLAB实现; 原创代码; 注释清晰; 可直接运行; 生物特性迭代寻优; 发现者与加入者; 警觉者; 参考两篇文献。

    基于java的五子棋游戏设计源码+论文

    基于java的五子棋游戏设计源码+论文

    deepseek-r1使用指南

    deepseek-r1使用指南

    DeepSeek+DeepResearch-让科研像聊天一样简单

    DeepSeek+DeepResearch——让科研像聊天一样简单 (1)DeepSeek如何做数据分析? (2)DeepSeek如何分析文件内容? (3)DeepSeek如何进行数据挖掘? (4)DeepSeek如何进行科学研究? (5)DeepSeek如何写综述? (6)DeepSeek如何进行数据可视化? (7)DeepSeek如何写作润色? (8)DeepSeek如何中英文互译? (9)DeepSeek如何做降重? (10)DeepSeek论文参考文献指令 (11)DeepSeek基础知识。

    基于dlib及opencv的人脸识别.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    基于人工智能的目标检测应用.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行;功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示

    DSP28335通过SPI与AD7606八路信号采集与通信的实践:实时数值与波形展示在上位机界面上,DSP28335与AD7606 SPI通信:采集八路信号并通过SCI上送至上位机实现数据及波形显示,Dsp28335利用spi与ad7606通信,采集八路信号,通过sci发送到到上位机显示数值和波形 ,DSP28335; SPI; AD7606; 八路信号采集; SCI; 上位机显示; 数值和波形,DSP28335 SPI通讯 AD7606 八路信号采集 SCI发送上位机显示

    搭建mario机器学习测试系统,进行机器学习。.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    marisa-ruby-0.2.4-4.el7.x64-86.rpm.tar.gz

    1、文件内容:marisa-ruby-0.2.4-4.el7.rpm以及相关依赖 2、文件形式:tar.gz压缩包 3、安装指令: #Step1、解压 tar -zxvf /mnt/data/output/marisa-ruby-0.2.4-4.el7.tar.gz #Step2、进入解压后的目录,执行安装 sudo rpm -ivh *.rpm 4、更多资源/技术支持:公众号禅静编程坊

    基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻

    基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法优化:提高全局搜索能力与初始解质量,基于Tent混沌映射的麻雀搜索算法matlab代码: 针对麻雀搜索算法(SSA)在接近全局最优时,种群多样性减少,易陷入局部最优解等问题,提出了一种混沌麻雀搜索优化算法(CSSA)。 通过改进 Tent 混沌序列初始化种群,提高初始解的质量,增强算法的全局搜索能力; ,基于Tent混沌映射的麻雀搜索算法; CSSA(混沌麻雀搜索优化算法); Tent混沌序列初始化种群; 全局搜索能力。,基于Tent混沌映射的CSSA算法:提高麻雀搜索全局搜索能力

    JavaWeb期刊管理系统_课程设计附课设报告.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    上接战略下接绩效的培训规划.pptx

    上接战略下接绩效的培训规划.pptx

    基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大

    基于S7-300 PLC和Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序详解、接线与原理图图谱及组态设计,基于S7-300 PLC与Wincc Flexible触摸屏的温室大棚智能控制解决方案:梯形图程序、接线图与组态画面全解析,No.943 基于S7-300 PLC和Wincc Flexible触摸屏温室大棚控制 带解释的梯形图程序,接线图原理图图纸,io分配,组态画面 ,943; S7-300 PLC; Wincc Flexible触摸屏; 温室大棚控制; 梯形图程序; 接线图原理图; IO分配; 组态画面,S7-300 PLC与Wincc Flexible触摸屏联合打造:No.943温室大棚控制系统的设计与实现

    基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序

    基于ADMM算法的GAMS程序:发电商竞标策略模型及其应用解析,GAMS程序解析:基于ADMM算法的发电商竞标策略优化模型与代码实现,GAMS程序:ADMM算法-基于ADMM法的发电商竞标策略 本程序主要介绍ADMM算法在GAMS中的编写方式,模型基于发电商竞标策略进行编写,基本包含了文章中的模型,但并非完全复现,可作为参考程序自学使用,也可在程序的基础上进行修改使用。 需要的同学可根据以下图片研究是否为自己需要的程序进行。 也可提供ADMM部分程序。 程序包括两个,分别为解决战略投资问题的广义MILP制定的GAMS代码、基于提出的共识- admm算法解决战略投资问题的GAMS代码 ,GAMS程序; ADMM算法; 发电商竞标策略; 模型编写; 广义MILP; 共识-ADMM算法; 战略投资问题; 程序修改。,GAMS程序:ADMM算法在发电商竞标策略中的应用示例

    springboot整合Quartz实现动态配置定时任务.zip

    项目工程资源经过严格测试运行并且功能上ok,可实现复现复刻,拿到资料包后可实现复现出一样的项目,本人系统开发经验充足(全栈全领域),有任何使用问题欢迎随时与我联系,我会抽时间努力为您解惑,提供帮助 【资源内容】:包含源码+工程文件+说明等。答辩评审平均分达到96分,放心下载使用!可实现复现;设计报告也可借鉴此项目;该资源内项目代码都经过测试运行,功能ok 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 【提供帮助】:有任何使用上的问题欢迎随时与我联系,抽时间努力解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 下载后请首先打开说明文件(如有);整理时不同项目所包含资源内容不同;项目工程可实现复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用

    重庆市农村信用合作社 农商行数字银行系统建设方案.ppt

    重庆市农村信用合作社 农商行数字银行系统建设方案.ppt

    三菱FX5U定位模块与昆仑通态触摸屏包装机配置程序集成:五轴控制及双轴插补技术,三菱FX5U定位模块与伺服系统控制:包装机配置清单及功能分配手册,三菱 FX5U定位模块5轴 2轴插补伺服 包括三菱FX

    三菱FX5U定位模块与昆仑通态触摸屏包装机配置程序集成:五轴控制及双轴插补技术,三菱FX5U定位模块与伺服系统控制:包装机配置清单及功能分配手册,三菱 FX5U定位模块5轴 2轴插补伺服 包括三菱FX5U伺服5轴程序2轴插补,昆仑通态触摸屏程序。 包装机程序,有详细配置清单 IO表 功能分配等清单 扩展FX5-16ET-ES-H定位,有定位设置说明 ,三菱FX5U;定位模块;5轴;2轴插补伺服;昆仑通态触摸屏程序;包装机程序;配置清单;IO表;功能分配;扩展FX5-16ET-ES-H定位设置。,三菱FX5U定位模块:5轴伺服控制与2轴插补程序包

Global site tag (gtag.js) - Google Analytics