We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
建立新的定时任务系统合约,用户通过crontab语法格式设置定时任务。定时任务触发时,能够进行转账或者调用合约。
让PalletOne支持定时任务,而不是通过外部账户来触发交易。
建立一个全新的系统合约,ScheduleContract。在该合约中,具有:设置定时任务、启用定时任务、停止定时任务、销毁定时任务这几个功能函数。另外还有查询定时任务内容、查询任务历史执行情况等查询函数。
设置定时任务主要包含2个重要参数:Schedule表达式、任务内容。Schedule表达式参考Cron的表示方式,唯一不同的是在区块链中不能精确到具体哪一秒执行任务,而是在指定时间之后下一个产块时包含任务。另外一种表达方式就不是绝对的时间,而是采用高度来表示,比如:高度值是1000的整倍数,即每1000个块执行一次任务。 任务内容分为:转账、合约调用两种。转账可以指定收款方、金额、资产ID,而且是一个数组,也就是说可以执行多个收款人的转账。合约调用需要指定合约地址、函数名、函数参数,以及调用合约时转移到合约上的TokenID和数量。
停止定时任务只是将任务的状态改为停止,接下来到了指定的时间段不会触发该任务。
如果任务已经被停止,那么可以通过启动定时任务函数将任务的状态又改回活动状态,下一次到时间点时将触发该任务。
表示这个定时任务再也不用了,需要彻底删除,同时将其中的Token回收回来。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
摘要
建立新的定时任务系统合约,用户通过crontab语法格式设置定时任务。定时任务触发时,能够进行转账或者调用合约。
动机
让PalletOne支持定时任务,而不是通过外部账户来触发交易。
详细说明
建立一个全新的系统合约,ScheduleContract。在该合约中,具有:设置定时任务、启用定时任务、停止定时任务、销毁定时任务这几个功能函数。另外还有查询定时任务内容、查询任务历史执行情况等查询函数。
设置定时任务
设置定时任务主要包含2个重要参数:Schedule表达式、任务内容。Schedule表达式参考Cron的表示方式,唯一不同的是在区块链中不能精确到具体哪一秒执行任务,而是在指定时间之后下一个产块时包含任务。另外一种表达方式就不是绝对的时间,而是采用高度来表示,比如:高度值是1000的整倍数,即每1000个块执行一次任务。
任务内容分为:转账、合约调用两种。转账可以指定收款方、金额、资产ID,而且是一个数组,也就是说可以执行多个收款人的转账。合约调用需要指定合约地址、函数名、函数参数,以及调用合约时转移到合约上的TokenID和数量。
停止定时任务
停止定时任务只是将任务的状态改为停止,接下来到了指定的时间段不会触发该任务。
启用定时任务
如果任务已经被停止,那么可以通过启动定时任务函数将任务的状态又改回活动状态,下一次到时间点时将触发该任务。
销毁定时任务
表示这个定时任务再也不用了,需要彻底删除,同时将其中的Token回收回来。
参考
The text was updated successfully, but these errors were encountered: