update
This commit is contained in:
parent
537c54df14
commit
dd18dcd9de
2
.env
2
.env
|
|
@ -1,6 +1,6 @@
|
||||||
APP_NAME=ConnectHub
|
APP_NAME=ConnectHub
|
||||||
DATA_DIR=/data
|
DATA_DIR=/data
|
||||||
DB_URL=sqlite:////data/connecthub.db
|
DB_URL=postgresql+psycopg://connecthub:connecthub_pwd_change_me@postgres:5432/connecthub
|
||||||
REDIS_URL=redis://redis:6379/0
|
REDIS_URL=redis://redis:6379/0
|
||||||
FERNET_KEY_PATH=/data/fernet.key
|
FERNET_KEY_PATH=/data/fernet.key
|
||||||
DEV_MODE=1
|
DEV_MODE=1
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ ConnectHub 是一个轻量级企业集成中间件:统一管理多系统集成
|
||||||
- `env.example`:环境变量示例(由于环境限制,仓库中使用该文件名;本地运行时请手动创建 `.env` 并参考此文件)
|
- `env.example`:环境变量示例(由于环境限制,仓库中使用该文件名;本地运行时请手动创建 `.env` 并参考此文件)
|
||||||
- 关键变量:
|
- 关键变量:
|
||||||
- `DATA_DIR=/data`:容器内数据目录
|
- `DATA_DIR=/data`:容器内数据目录
|
||||||
- `DB_URL=sqlite:////data/connecthub.db`:SQLite DB 文件
|
- `DB_URL=postgresql+psycopg://connecthub:connecthub_pwd_change_me@postgres:5432/connecthub`:PostgreSQL 连接串(容器内通过 service name `postgres` 访问)
|
||||||
- `REDIS_URL=redis://redis:6379/0`:Celery Broker/Backend
|
- `REDIS_URL=redis://redis:6379/0`:Celery Broker/Backend
|
||||||
- `FERNET_KEY_PATH=/data/fernet.key`:Fernet key 文件(自动生成并持久化)
|
- `FERNET_KEY_PATH=/data/fernet.key`:Fernet key 文件(自动生成并持久化)
|
||||||
- `LOG_DIR=/data/logs`:日志目录(可选)
|
- `LOG_DIR=/data/logs`:日志目录(可选)
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -8,7 +8,7 @@ class Settings(BaseSettings):
|
||||||
|
|
||||||
app_name: str = "ConnectHub"
|
app_name: str = "ConnectHub"
|
||||||
data_dir: str = "/data"
|
data_dir: str = "/data"
|
||||||
db_url: str = "sqlite:////data/connecthub.db"
|
db_url: str = "postgresql+psycopg://connecthub:connecthub_pwd_change_me@postgres:5432/connecthub"
|
||||||
redis_url: str = "redis://redis:6379/0"
|
redis_url: str = "redis://redis:6379/0"
|
||||||
fernet_key_path: str = "/data/fernet.key"
|
fernet_key_path: str = "/data/fernet.key"
|
||||||
dev_mode: bool = False
|
dev_mode: bool = False
|
||||||
|
|
|
||||||
Binary file not shown.
Binary file not shown.
|
|
@ -6,11 +6,11 @@ from sqlalchemy.orm import Session, sessionmaker
|
||||||
from app.core.config import settings
|
from app.core.config import settings
|
||||||
|
|
||||||
|
|
||||||
engine = create_engine(
|
_kwargs = {"future": True}
|
||||||
settings.db_url,
|
if settings.db_url.startswith("sqlite"):
|
||||||
connect_args={"check_same_thread": False} if settings.db_url.startswith("sqlite") else {},
|
_kwargs["connect_args"] = {"check_same_thread": False}
|
||||||
future=True,
|
|
||||||
)
|
engine = create_engine(settings.db_url, **_kwargs)
|
||||||
|
|
||||||
SessionLocal = sessionmaker(bind=engine, class_=Session, autoflush=False, autocommit=False, future=True)
|
SessionLocal = sessionmaker(bind=engine, class_=Session, autoflush=False, autocommit=False, future=True)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1,26 +1,27 @@
|
||||||
from __future__ import annotations
|
from __future__ import annotations
|
||||||
|
|
||||||
from sqlalchemy import Engine, text
|
from sqlalchemy import Engine, inspect, text
|
||||||
|
|
||||||
from app.db.models import Base
|
from app.db.models import Base
|
||||||
|
|
||||||
|
|
||||||
def _has_column(conn, table: str, col: str) -> bool:
|
def _has_column(engine: Engine, table: str, col: str) -> bool:
|
||||||
rows = conn.execute(text(f"PRAGMA table_info({table})")).fetchall()
|
insp = inspect(engine)
|
||||||
return any(r[1] == col for r in rows) # PRAGMA columns: (cid, name, type, notnull, dflt_value, pk)
|
cols = insp.get_columns(table)
|
||||||
|
return any(c.get("name") == col for c in cols)
|
||||||
|
|
||||||
|
|
||||||
def ensure_schema(engine: Engine) -> None:
|
def ensure_schema(engine: Engine) -> None:
|
||||||
"""
|
"""
|
||||||
SQLite 轻量自升级:
|
轻量自升级(跨 SQLite/PostgreSQL):
|
||||||
- create_all 不会更新既有表结构,因此用 PRAGMA + ALTER TABLE 补列
|
- create_all 不会更新既有表结构,因此用 inspector + ALTER TABLE 补列
|
||||||
- 必须保证任何失败都不影响主流程(上层可选择忽略异常)
|
- 必须保证任何失败都不影响主流程(上层可选择忽略异常)
|
||||||
"""
|
"""
|
||||||
Base.metadata.create_all(bind=engine)
|
Base.metadata.create_all(bind=engine)
|
||||||
|
|
||||||
with engine.begin() as conn:
|
with engine.begin() as conn:
|
||||||
# job_logs.run_log
|
# job_logs.run_log
|
||||||
if not _has_column(conn, "job_logs", "run_log"):
|
if not _has_column(engine, "job_logs", "run_log"):
|
||||||
conn.execute(text("ALTER TABLE job_logs ADD COLUMN run_log TEXT NOT NULL DEFAULT ''"))
|
conn.execute(text("ALTER TABLE job_logs ADD COLUMN run_log TEXT NOT NULL DEFAULT ''"))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Binary file not shown.
|
|
@ -1448,3 +1448,114 @@ sqlalchemy.exc.OperationalError: (sqlite3.OperationalError) table job_logs has n
|
||||||
2026-01-05 06:58:34 INFO celery.app.trace Task connecthub.dispatcher.tick[143002e6-4b46-4a31-b1f4-70675d23b19f] succeeded in 0.03738421500020195s: {'triggered': 1}
|
2026-01-05 06:58:34 INFO celery.app.trace Task connecthub.dispatcher.tick[143002e6-4b46-4a31-b1f4-70675d23b19f] succeeded in 0.03738421500020195s: {'triggered': 1}
|
||||||
2026-01-05 06:58:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
2026-01-05 06:58:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
2026-01-05 06:58:34 INFO celery.app.trace Task connecthub.execute_job[084d9592-8969-4ab9-b708-22df5f7c68c4] succeeded in 0.048200376999375294s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
2026-01-05 06:58:34 INFO celery.app.trace Task connecthub.execute_job[084d9592-8969-4ab9-b708-22df5f7c68c4] succeeded in 0.048200376999375294s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 06:59:34 INFO celery.app.trace Task connecthub.dispatcher.tick[7ff35c94-bfc9-49d1-998b-c77a50a6b2f2] succeeded in 0.03243898700020509s: {'triggered': 1}
|
||||||
|
2026-01-05 06:59:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 06:59:34 INFO celery.app.trace Task connecthub.execute_job[52d3edb3-bb34-443b-9a02-b99f8b98fdfe] succeeded in 0.04806670699872484s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:00:34 INFO celery.app.trace Task connecthub.dispatcher.tick[90f39045-9e06-4671-9219-05cb8b5a0edc] succeeded in 0.038366259999747854s: {'triggered': 1}
|
||||||
|
2026-01-05 07:00:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:00:34 INFO celery.app.trace Task connecthub.execute_job[48e996bd-1af6-4bb9-8094-12b9838ef9d7] succeeded in 0.05399127200143994s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:01:34 INFO celery.app.trace Task connecthub.dispatcher.tick[5a916c6c-9648-4948-a64c-0101db1ad06d] succeeded in 0.03205773700028658s: {'triggered': 1}
|
||||||
|
2026-01-05 07:01:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:01:34 INFO celery.app.trace Task connecthub.execute_job[c3124b54-260d-4977-9ea6-6d67af4163fa] succeeded in 0.026716010999734863s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:02:34 INFO celery.app.trace Task connecthub.dispatcher.tick[aa7e49e0-aade-4a3c-8c67-28c302d0befc] succeeded in 0.019925194001189084s: {'triggered': 1}
|
||||||
|
2026-01-05 07:02:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:02:34 INFO celery.app.trace Task connecthub.execute_job[1615b86e-8ac7-472e-a0e0-acfe97d9c5d0] succeeded in 0.0280346819999977s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:03:34 INFO celery.app.trace Task connecthub.dispatcher.tick[ad6bb604-2563-4abb-b392-fa837c20bd6d] succeeded in 0.017531310999402194s: {'triggered': 1}
|
||||||
|
2026-01-05 07:03:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:03:34 INFO celery.app.trace Task connecthub.execute_job[a5d2a716-0e8f-42a7-9bf1-a8a20bc142d5] succeeded in 0.02709092799887003s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:04:34 INFO celery.app.trace Task connecthub.dispatcher.tick[e90e2dc8-5944-48a7-a66c-f8638e5d04f4] succeeded in 0.02161186800003634s: {'triggered': 1}
|
||||||
|
2026-01-05 07:04:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:04:34 INFO celery.app.trace Task connecthub.execute_job[c17f8213-ac1e-4cf4-adcb-28804393bc86] succeeded in 0.032682656001270516s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:05:34 INFO celery.app.trace Task connecthub.dispatcher.tick[f99e67e5-9f66-4364-8e29-6b7d6525347d] succeeded in 0.01887406600144459s: {'triggered': 1}
|
||||||
|
2026-01-05 07:05:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:05:34 INFO celery.app.trace Task connecthub.execute_job[bd4635ef-e983-44be-ba9c-4f0a2ebaaa3a] succeeded in 0.022113120001449715s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:06:34 INFO celery.app.trace Task connecthub.dispatcher.tick[53fd9458-503d-42d9-a087-0546683eba9e] succeeded in 0.03372136800135195s: {'triggered': 1}
|
||||||
|
2026-01-05 07:06:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:06:34 INFO celery.app.trace Task connecthub.execute_job[8a6c0db9-95e1-4c43-9836-71f986c0a9bd] succeeded in 0.0460546609992889s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:07:34 INFO celery.app.trace Task connecthub.dispatcher.tick[e9ee6e27-7f5e-4c06-b466-fe9dedbbca64] succeeded in 0.01709246499922301s: {'triggered': 1}
|
||||||
|
2026-01-05 07:07:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:07:34 INFO celery.app.trace Task connecthub.execute_job[366f4a43-3657-4e0c-b687-65eb35a56b70] succeeded in 0.02782860400111531s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:08:34 INFO celery.app.trace Task connecthub.dispatcher.tick[f65b4b96-df13-4642-a56e-744b1ad4c03f] succeeded in 0.02342866399885679s: {'triggered': 1}
|
||||||
|
2026-01-05 07:08:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:08:34 INFO celery.app.trace Task connecthub.execute_job[b684dd70-e535-4301-b024-5f8f0de56357] succeeded in 0.03189004199884948s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:09:34 INFO celery.app.trace Task connecthub.dispatcher.tick[ac962744-3b68-45f8-ae94-03b8df961538] succeeded in 0.04561478100004024s: {'triggered': 1}
|
||||||
|
2026-01-05 07:09:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:09:34 INFO celery.app.trace Task connecthub.execute_job[59787b28-abd5-4321-b19f-f879aca9fdbf] succeeded in 0.14826150599765242s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:10:34 INFO celery.app.trace Task connecthub.dispatcher.tick[45df624d-a1a5-4c86-8f97-1dbcaea56512] succeeded in 0.022940203998587094s: {'triggered': 1}
|
||||||
|
2026-01-05 07:10:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:10:34 INFO celery.app.trace Task connecthub.execute_job[b753b080-0bfe-4b95-a92a-0ff85323d9c7] succeeded in 0.07180132800203864s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:11:34 INFO celery.app.trace Task connecthub.dispatcher.tick[a27214e6-1037-4c97-a4c4-3a7f99783b92] succeeded in 0.02962792700054706s: {'triggered': 1}
|
||||||
|
2026-01-05 07:11:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:11:34 INFO celery.app.trace Task connecthub.execute_job[912d265e-15c3-46cf-9276-e7bb0929e214] succeeded in 0.03631957200195757s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:12:34 INFO celery.app.trace Task connecthub.dispatcher.tick[9af4b828-be86-410a-9ca5-fe332bab27dc] succeeded in 0.014524588001222583s: {'triggered': 1}
|
||||||
|
2026-01-05 07:12:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:12:34 INFO celery.app.trace Task connecthub.execute_job[b7a85791-3044-4021-904f-4b238580bb89] succeeded in 0.026003581999248127s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:13:34 INFO celery.app.trace Task connecthub.dispatcher.tick[e102d4e8-945f-4fb8-93a0-a447ddd8659f] succeeded in 0.02607237199845258s: {'triggered': 1}
|
||||||
|
2026-01-05 07:13:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:13:34 INFO celery.app.trace Task connecthub.execute_job[075a86e1-d13f-4752-a7f1-e2f7873c37ac] succeeded in 0.029601174999697832s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:14:34 INFO celery.app.trace Task connecthub.dispatcher.tick[69e56507-4ae2-4edd-95b0-971ea3e11219] succeeded in 0.013464292002026923s: {'triggered': 1}
|
||||||
|
2026-01-05 07:14:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:14:34 INFO celery.app.trace Task connecthub.execute_job[03bd0d9e-0cbe-4281-9b7b-01fc9f82072f] succeeded in 0.019281809996755328s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:15:34 INFO celery.app.trace Task connecthub.dispatcher.tick[5b7d27ef-7633-44ad-8b80-5a750f8131b6] succeeded in 0.025849912999547087s: {'triggered': 1}
|
||||||
|
2026-01-05 07:15:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:15:34 INFO celery.app.trace Task connecthub.execute_job[fe2ae17f-3714-4d30-9ba8-aeea0abcf8e6] succeeded in 0.02281211199806421s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:16:34 INFO celery.app.trace Task connecthub.dispatcher.tick[d010c1d2-aa4b-42b4-9c67-5050e2bd10c3] succeeded in 0.02714045899847406s: {'triggered': 1}
|
||||||
|
2026-01-05 07:16:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:16:34 INFO celery.app.trace Task connecthub.execute_job[295454cf-3344-484d-aad4-520f1c3de033] succeeded in 0.027329376000125194s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:17:34 INFO celery.app.trace Task connecthub.dispatcher.tick[37162304-22b1-48ef-9b99-001c635ebb99] succeeded in 0.020508688998233993s: {'triggered': 1}
|
||||||
|
2026-01-05 07:17:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:17:34 INFO celery.app.trace Task connecthub.execute_job[1c1192a4-84b7-42f3-965b-ad6671707a5c] succeeded in 0.03159668099760893s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:18:34 INFO celery.app.trace Task connecthub.dispatcher.tick[a32af444-b4c9-4819-9970-02c65bd1e757] succeeded in 0.02585999599978095s: {'triggered': 1}
|
||||||
|
2026-01-05 07:18:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:18:34 INFO celery.app.trace Task connecthub.execute_job[44cd4190-4184-4aae-afc4-eb06e7eeee48] succeeded in 0.03663523799696122s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:19:34 INFO celery.app.trace Task connecthub.dispatcher.tick[61b03d5e-f205-4c54-bab1-ff8042570ef0] succeeded in 0.028314295999734895s: {'triggered': 1}
|
||||||
|
2026-01-05 07:19:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:19:34 INFO celery.app.trace Task connecthub.execute_job[b1d9ff91-35ca-49b1-8a9b-d990ccbf2846] succeeded in 0.044955306002520956s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:20:34 INFO celery.app.trace Task connecthub.dispatcher.tick[07c9ab13-1364-4fc6-9b4e-0169b78715aa] succeeded in 0.02093082400097046s: {'triggered': 1}
|
||||||
|
2026-01-05 07:20:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:20:34 INFO celery.app.trace Task connecthub.execute_job[e45a0067-a289-49e7-8b04-2868fb79fcd7] succeeded in 0.03268894699795055s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:21:34 INFO celery.app.trace Task connecthub.dispatcher.tick[2a287e90-d8ee-42c0-8e5b-8446a42510fd] succeeded in 0.013471963997290004s: {'triggered': 1}
|
||||||
|
2026-01-05 07:21:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:21:34 INFO celery.app.trace Task connecthub.execute_job[be610ca7-2456-488e-9fd6-1855968cde0e] succeeded in 0.025365213998156833s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:22:34 INFO celery.app.trace Task connecthub.dispatcher.tick[a16da9cc-df85-41b2-b77c-44102a9911fc] succeeded in 0.024838377998094074s: {'triggered': 1}
|
||||||
|
2026-01-05 07:22:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:22:34 INFO celery.app.trace Task connecthub.execute_job[206d7957-69e0-49d2-a08c-2523c6464a70] succeeded in 0.03043731499928981s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:23:34 INFO celery.app.trace Task connecthub.dispatcher.tick[0f3a749d-ae12-463f-a3ac-742693d4e4f4] succeeded in 0.020584404999681283s: {'triggered': 1}
|
||||||
|
2026-01-05 07:23:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:23:34 INFO celery.app.trace Task connecthub.execute_job[b7661a3e-7fe4-4af9-993b-9e24a49cfdd1] succeeded in 0.029729271001997404s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:24:34 INFO celery.app.trace Task connecthub.dispatcher.tick[2403b420-8a06-4e4f-bac1-4c944c8ff448] succeeded in 0.018341153998335358s: {'triggered': 1}
|
||||||
|
2026-01-05 07:24:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:24:34 INFO celery.app.trace Task connecthub.execute_job[067b53a0-20bc-44e7-8a10-66a81f63a9f2] succeeded in 0.024221301999205025s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:25:34 INFO celery.app.trace Task connecthub.dispatcher.tick[5cf1ba97-dd9a-4641-b34a-0c29638f7408] succeeded in 0.03626087700104108s: {'triggered': 1}
|
||||||
|
2026-01-05 07:25:34 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:25:34 INFO celery.app.trace Task connecthub.execute_job[1455c523-12e9-49b2-9f2f-34e7296882ec] succeeded in 0.07351421699786442s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:26:59 INFO celery.app.trace Task connecthub.dispatcher.tick[458aeb6f-bbce-4379-95ee-c136170cc172] succeeded in 0.04191194200029713s: {'triggered': 1}
|
||||||
|
2026-01-05 07:26:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:26:59 INFO celery.app.trace Task connecthub.execute_job[06d7c172-6a41-4fd4-8460-3288078a9cfb] succeeded in 0.09415871100281947s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:27:59 INFO celery.app.trace Task connecthub.dispatcher.tick[168fca0f-d849-4992-bafd-7c73052ee3de] succeeded in 0.027694890002749162s: {'triggered': 1}
|
||||||
|
2026-01-05 07:27:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:27:59 INFO celery.app.trace Task connecthub.execute_job[8aa7ef10-2a4f-4238-b1d2-fcde70f320b4] succeeded in 0.03736271600064356s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:28:59 INFO celery.app.trace Task connecthub.dispatcher.tick[32df4b13-38a9-4b5b-aa5f-aa55d17bab77] succeeded in 0.02644388800035813s: {'triggered': 1}
|
||||||
|
2026-01-05 07:28:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:28:59 INFO celery.app.trace Task connecthub.execute_job[cf87d1ca-f7ab-4951-8794-d67098b157b7] succeeded in 0.028943772002094192s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:29:59 INFO celery.app.trace Task connecthub.dispatcher.tick[42a1fba8-ad36-4f78-847d-7360bac5f905] succeeded in 0.048216461000265554s: {'triggered': 1}
|
||||||
|
2026-01-05 07:29:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:29:59 INFO celery.app.trace Task connecthub.execute_job[8eef1b0f-f37f-4365-8cee-c0d220b0adbe] succeeded in 0.0404999759994098s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:30:59 INFO celery.app.trace Task connecthub.dispatcher.tick[69538a4f-ac45-425d-987d-0891527995a3] succeeded in 0.032709241000702605s: {'triggered': 1}
|
||||||
|
2026-01-05 07:30:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:30:59 INFO celery.app.trace Task connecthub.execute_job[7499f973-6d14-4f0f-b20e-492c865709b3] succeeded in 0.03217836399926455s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:31:59 INFO celery.app.trace Task connecthub.dispatcher.tick[783a57ae-d1ae-444c-9b9b-718d5908639b] succeeded in 0.029248186998302117s: {'triggered': 1}
|
||||||
|
2026-01-05 07:31:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:31:59 INFO celery.app.trace Task connecthub.execute_job[d8a04eb5-d021-4e0b-9d87-1544951949f4] succeeded in 0.02702434499951778s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:32:07 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:32:07 INFO celery.app.trace Task connecthub.execute_job[71161bb9-febf-4409-8f4e-7601439f56d8] succeeded in 0.11532257499857224s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 07:32:59 INFO celery.app.trace Task connecthub.dispatcher.tick[7ba62cf7-b6b9-4998-b2c2-e6e544f8dd30] succeeded in 0.026650135998352198s: {'triggered': 1}
|
||||||
|
2026-01-05 07:32:59 INFO connecthub.extensions.example ExampleJob ran name=World pong={'ok': True}
|
||||||
|
2026-01-05 07:32:59 INFO celery.app.trace Task connecthub.execute_job[6aa7b574-32ab-4e4f-9bbe-f9a2214281d3] succeeded in 0.026641177999408683s: {'status': 'SUCCESS', 'job_id': 'demo.test', 'result': {'hello': 'World', 'pong': {'ok': True}}, 'message': 'OK'}
|
||||||
|
2026-01-05 08:26:48 INFO celery.app.trace Task connecthub.dispatcher.tick[2c0832f8-c476-405d-a20d-d1fb39b81eb6] succeeded in 0.03208297799938009s: {'triggered': 0}
|
||||||
|
2026-01-05 08:27:48 INFO celery.app.trace Task connecthub.dispatcher.tick[cab9ed3d-4301-4f30-94eb-8e400619af06] succeeded in 0.0120048989992938s: {'triggered': 0}
|
||||||
|
2026-01-05 08:28:48 INFO celery.app.trace Task connecthub.dispatcher.tick[7053b804-fb5c-453d-87dc-e86d0dd86a42] succeeded in 0.015613408999342937s: {'triggered': 0}
|
||||||
|
2026-01-05 08:29:48 INFO celery.app.trace Task connecthub.dispatcher.tick[83431ec2-78d7-4ea8-a603-00970dcae994] succeeded in 0.023675174001255073s: {'triggered': 0}
|
||||||
|
2026-01-05 08:30:48 INFO celery.app.trace Task connecthub.dispatcher.tick[9e85b13a-081d-4611-bd79-3decab4e5998] succeeded in 0.016073361999588087s: {'triggered': 0}
|
||||||
|
2026-01-05 08:31:48 INFO celery.app.trace Task connecthub.dispatcher.tick[4e76d621-3ed7-4002-b1f2-1766b699218c] succeeded in 0.01640211099947919s: {'triggered': 0}
|
||||||
|
2026-01-05 08:32:48 INFO celery.app.trace Task connecthub.dispatcher.tick[62d2e1ea-02c8-4dcd-bf97-a3e4f4d1dfda] succeeded in 0.015914567997242557s: {'triggered': 0}
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
16
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue