mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-09-13 16:05:00 +00:00
* feat(backend): add repl for worker * feat(frontend): add repl to interact with worker and missing packages * nits * Update backend/windmill-worker/src/result_processor.rs Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Update backend/windmill-worker/src/result_processor.rs Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * Update frontend/src/lib/components/WorkerRepl.svelte Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com> * fix typo * fix cd * nits * refactoring * feat: handle other agent worker to also access repl feature, fix bugs * update repo ref * nits and match function args * nits * typo * remove struct AgentWorkerData * update repo ref * nits * impl new for authed client and revert to async * update ref * updage ee repo ref * fix missing method/imports small bugs * update ee repo ref * update .sqlx * test * clean wait for interactive_shell future * free call stack --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Co-authored-by: graphite-app[bot] <96075541+graphite-app[bot]@users.noreply.github.com>
41 lines
1.1 KiB
Rust
41 lines
1.1 KiB
Rust
use reqwest::header::HeaderMap;
|
|
use uuid::Uuid;
|
|
use windmill_common::{agent_workers::QueueInitJob, worker::HttpClient};
|
|
use windmill_queue::{JobAndPerms, JobCompleted};
|
|
|
|
pub async fn queue_init_job(client: &HttpClient, content: &str) -> anyhow::Result<Uuid> {
|
|
client
|
|
.post(
|
|
"/api/agent_workers/queue_init_job",
|
|
None,
|
|
&QueueInitJob { content: content.to_string() },
|
|
)
|
|
.await
|
|
.and_then(|x: String| Uuid::parse_str(&x).map_err(|e| anyhow::anyhow!(e)))
|
|
}
|
|
|
|
pub async fn pull_job(
|
|
client: &HttpClient,
|
|
headers: Option<HeaderMap>,
|
|
body: Option<bool>,
|
|
) -> anyhow::Result<Option<JobAndPerms>> {
|
|
client
|
|
.post("/api/agent_workers/pull_job", headers, &body)
|
|
.await
|
|
}
|
|
|
|
pub async fn send_result(client: &HttpClient, jc: JobCompleted) -> anyhow::Result<String> {
|
|
client
|
|
.post(
|
|
&format!(
|
|
"/api/w/{}/agent_workers/send_result/{}",
|
|
jc.job.workspace_id, jc.job.id
|
|
),
|
|
None,
|
|
&jc,
|
|
)
|
|
.await
|
|
}
|
|
|
|
pub const UPDATE_PING_URL: &str = "/api/agent_workers/update_ping";
|