任务列表
运行日志
点击左侧任务卡片上的「日志」按钮,这里显示实时输出
上传文件 / 目录 / zip
单文件、多文件(保留相对路径)、整个目录、或一个 zip,都会落到独立任务工作区。
拖拽文件到此处,或
约定
1. 每个任务启动时分配一个端口,通过环境变量
2. 创建或编辑时可指定端口,留空按启动顺序自动分配;端口池耗尽先停旧任务,或在 compose 里扩大范围。
3. 批处理脚本忽略端口即可,跑完状态自动变 exited;Web 服务保持 running。
4. PHP 运行模式:
5. PHP 项目带
6. Python 缺包同样自动
7. 入口文件识别顺序:自定义命令 > 指定入口 > 顶层惯用名(
8. 填了 cron 定时 的任务到点自动启动(每分钟最多一次);填了反代内部端口时把对外端口 TCP 转发到脚本自己监听的端口。
PORT / HOST 传入;PHP 里用 getenv("PORT") 读,Python 用 os.environ["PORT"],Node 用 process.env.PORT。2. 创建或编辑时可指定端口,留空按启动顺序自动分配;端口池耗尽先停旧任务,或在 compose 里扩大范围。
3. 批处理脚本忽略端口即可,跑完状态自动变 exited;Web 服务保持 running。
4. PHP 运行模式:
auto 看有没有 index.php(含 public/)决定 Web/CLI;可强制 web(php -S,文档根优先 public/)或 cli(php 脚本.php)。5. PHP 项目带
composer.json 时,启动前自动 composer install;运行报缺 vendor/autoload.php 或缺类时自动 composer install / composer require 并重启一次(日志有「自动装依赖」标记)。6. Python 缺包同样自动
pip install;三种语言共用一套面板与端口池。7. 入口文件识别顺序:自定义命令 > 指定入口 > 顶层惯用名(
index.php/main.php/app.php · main.py · main.js)> 顶层唯一脚本 > 深层惯用名 > 全目录唯一脚本。8. 填了 cron 定时 的任务到点自动启动(每分钟最多一次);填了反代内部端口时把对外端口 TCP 转发到脚本自己监听的端口。
PHP Web 示例(有
index.php 即自动 php -S,无需改代码):<?php
header("Content-Type: text/plain; charset=utf-8");
$port = getenv("PORT") ?: "8600";
echo "hello from php, listen " . getenv("HOST") . ":$port\n";
echo "PHP " . PHP_VERSION . "\n";
PHP CLI 示例(单文件批处理,跑完自动 exited):
<?php
for ($i = 1; $i <= 3; $i++) {
echo "step $i / 3 ...\n";
flush();
sleep(1);
}
echo "done, port=" . (getenv("PORT") ?: "-") . "\n";
Python / Node 任务同理:
os.environ["PORT"] / process.env.PORT,按扩展名自动选解释器。加载中...
挂载目录来自
docker-compose 的 ./scripts:/mount,宿主机改动即时生效。已安装 pip 包:加载中...
pip包装在镜像的全局
site-packages:所有任务共用,脚本直接 import requests 即可;缺包时面板也会自动 pip install 并重启一次(日志「自动装依赖」)。标准库与已随 requirements.txt 预装的 flask/django/numpy/pandas/bs4/lxml/jieba 等都在这列里。| 包 | 版本 |
|---|---|
| 加载中... | |
加载中...
composer 包按任务安装到该任务的
vendor/(脚本需 require "vendor/autoload.php");PHP 扩展(mysqli/gd/redis…)在镜像里已装,新增扩展需重建镜像。composer.json 依赖:—
| 包 | 版本 | 说明 |
|---|---|---|
| 加载中... | ||