与 Roblox Grid 服务通信的辅助库。

v1.0.1 2024-05-12 08:10 UTC

This package is not auto-updated.

Last update: 2024-09-29 10:02:16 UTC


README

此库允许 Virtubrick 网站与 Roblox Grid 服务之间进行通信。

Virtubrick\Grid\Rcc\Job

应该首先构造 Rcc\Job 类。所有与 Grid 服务交互的功能都从这里调用。

构造函数

  • string $id (如果这是一个空字符串,将使用符合 RFC 4122 版本 4 的 UUID 替换作业 ID)
  • int $expirationInSeconds (20)
  • int $cores (0)
  • int $category (0)

方法

  • arbiter(Virtubrick\Grid\GridService): Job 设置作业将接触的仲裁者。返回自身以便可以链式调用这些函数。
  • script(Virtubrick\Grid\Rcc\LuaScript): Job 设置作业打开的脚本。返回自身以便可以链式调用这些函数。
  • batch(): array 将作业批量处理。返回 lua 脚本的结果。
  • open(): array 打开作业。返回 lua 脚本的结果。
  • execute(\Virtubrick\Grid\Rcc\LuaScript $input): array 在作业上执行脚本。返回已执行脚本的结果。
  • renewLease(int $expiration): array 为 $expiration 秒数的作业续租。
  • closeJob(): array 关闭作业。

Virtubrick\Grid\Rcc\LuaScript

允许通过 Job 类轻松与脚本通信的类。

构造函数

  • string $name
  • string $script
  • array $arguments (默认为空数组)

Virtubrick\Grid\GridService

此类描述了您的仲裁者。

构造函数

方法

  • soapCall(string $name, ?array $args = null): array 向仲裁者服务发送 soap 调用。有关详细信息,请参阅 RCCService.wsdl

示例用法

生成缩略图

use Virtubrick\Grid\GridService;
use Virtubrick\Grid\Rcc\{Job, LuaScript};

$job = (new Job($jobId = '', $expirationInSeconds = 120))
		->arbiter(new GridService('http://127.0.0.1:64989'))
		->script(new LuaScript(
			$name = "RenderThumbnail {$key}",
			$script = $script,
			$arguments = $arguments
		));

[$renderB64, $assetDependencies] = $job->batch();

header('x-asset-dependencies', implode(',', $assetDependencies));
exit(base64_decode($renderB64));

版权所有 2024 kylegg