作者laechan (挥泪斩马云)
看板mud_sanc
标题[wizs] 目前排程拍卖运作的模式
时间Sun Jan 21 01:20:09 2018
明天改完後这东西将会进行实测,wiz 们可先了解一下这东西的运作。
脚本档
脚本档统一放在 /open/cmds/blarket/ 目录下,档名不能用中文、不
能有底线。
档案内容很简单,每一行都是
欲拍卖物品的绝对路径+档名(不含.c) 结标模式(-end 及 -end2 两种)
例如
/d/auc/blarket/ob01 -end <= 价高者得
/d/auc/blarket/ob01 -end2 <= 每个竞标者都有机会拿到一份(预设拍卖100份)
另外,当脚本档内某一行为 -- 时,就代表只读到该行就结束。
写好脚本档後怎麽测试
很简单,指令如下
cd /cmds/std
call _blarket;times_check;"blarket_脚本档名";"/cmds/std/_blarket";({})
例如脚本档名叫
test (/open/cmds/blarket/test)
call _blarket;times_check;"blarket
_test";"/cmds/std/_blarket";({})
它就会跑了。
万一发现执行有问题怎麽强制中止?
很简单,指令如下
update /open/cmds/times_check <= 中止 times_check 的呼叫
blarket -halt <= 中止拍卖的进行
这样就行了。通常 update times_check 就可以停了,多执行一个
blarket -halt 则是为了清除拍卖资料。
实际让脚本档依预订的时间执行要怎麽设定
很简单,指令只有一个:
blarket -crontab
再来就依显示内容做相对映的输入即可,例如脚本名称假设叫 test
> blarket -crontab
1.新增排程
2.删除排程
3.离开(按 q 或 quit 也可)
请输入选项: 1
请输入欲设定的排程拍卖主题(全英文, 例如 newyear): test
请输入预定执行时间(mm/dd hh:mm): 02/15 21:00
脚本名称: test 预定执行时间: Thu Feb 15 21:00:45 2018
资料设定 ok.
设定好之後再执行一次 blarket -crontab 就会看到设定资料
> blarket -crontab
脚本名称: test 预定执行时间: Thu Feb 15 21:00:45 2018
1.新增排程
2.删除排程
3.离开(按 q 或 quit 也可)
一个脚本只能被设定为一个排程,这个意思就是,如果你想在不同
的时间拍卖相同的东西,就应该给两个脚本(然後它们的内容可以
相同),比方一个叫 test1,一个叫 test2。
blarket -auc 新增新的用法
目前可以这样子下指令:
blarket -auc /d/auc/blarket/ob01
blarket -auc /d/auc/blarket/ob01 x 100
它会将这东西 clone 出来後,移到你的身上,再进行拍卖。以前
则是你要先将 /d/auc/blarket/ob01 出来再去 blarket -auc 它
以上,这是磨了很多天之後才确定的做法,它已经非常简单且单纯
了,希望会用到 blarket 的 wiz 都知道怎麽使用,未来其它例行
排程的东西我也都会参照 blarket 的写法去弄,并要求 wiz 们也
必须 follow,亦即:
1.需自写 times_check 函数且做必要修改
2.不允许在自己写的 times_check 函数内使用 set_times_check
须一律使用 set_times_no_save,且需尽量使用内回做法。
3.只要遵守前两项原则,times_check 内要怎麽写都是弹性的。
以上我日後也将撰写非常简单的范例来呈现,我会写在区域房间内
,并写两条 crontab,一条是让这个房间在预订的时间开启某个设
定,一条是让这个房间在预订的时间关闭某个设定。春节会用到这
个,例如 777 赌场。
Laechan
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.26.178.184
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/mud_sanc/M.1516468811.A.C17.html
※ 编辑: laechan (122.117.106.224), 01/24/2018 02:55:48