Update a job
import requests
url = "https://{FUSION_HOST}/job-launcher/launcher/status"
payload = {
"state": "finished",
"jobId": "hhzitrwancwv",
"jobConfig": {
"type": "aggregation",
"id": "api-test-app_click_signals_aggregation",
"inputCollection": "api-test-app_signals",
"sourceCatchup": True,
"sourceRemove": False,
"sql": "WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"rollupSql": "SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,
query_s,
query_s as query_t,
doc_id_s,
filters_s,
first(aggr_type_s) AS aggr_type_s,
SPLIT(filters_s, ' \\$ ') AS filters_ss,
SUM(weight_d) AS weight_d,
SUM(aggr_count_i) AS aggr_count_i
FROM api-test-app_signals_aggr
GROUP BY query_s, doc_id_s, filters_s",
"referenceTime": "2025-10-17T18:56:14.660Z",
"skipCheckEnabled": True,
"readOptions": [
{
"key": "splits_per_shard",
"value": "4"
}
],
"skipJobIfSignalsEmpty": True,
"parameters": [
{
"key": "signalTypeWeights",
"value": "click:1.0,cart:10.0,purchase:25.0"
},
{
"key": "signalTypes",
"value": "_regex/signalTypeWeights/([\w\-\.]*):([\d\.\-]*)(,|$)/'$1'$3/g"
}
],
"selectQuery": "*:*",
"outputCollection": "api-test-app_signals_aggr",
"useNaturalKey": True,
"optimizeSegments": 0,
"dataFormat": "solr",
"sparkSQL": "SELECT * from spark_input",
"sparkPartitions": 200
},
"hostname": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"result": {
"jobConfigId": "api-test-app_click_signals_aggregation",
"jobRunId": "sjnamxwxsyhq",
"aggrClass": "SQL",
"query": "WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"state": "finished",
"aggregated": 0,
"applicationId": "spark-0424dda9215441c0b232210af1d7cb67",
"podId": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"aggr_type_s": "click@doc_id,filters,query"
},
"startTime": "2025-10-16T19:49:15.106Z",
"endTime": "2025-10-16T19:49:42.276Z",
"duration": 27170
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.post("https://{FUSION_HOST}/job-launcher/launcher/status")
.header("Content-Type", "application/json")
.body("{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}")
.asString();const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
state: 'finished',
jobId: 'hhzitrwancwv',
jobConfig: {
type: 'aggregation',
id: 'api-test-app_click_signals_aggregation',
inputCollection: 'api-test-app_signals',
sourceCatchup: true,
sourceRemove: false,
sql: 'WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
rollupSql: 'SELECT concat_ws(\'|\', query_s, doc_id_s, filters_s) as id,\n query_s,\n query_s as query_t,\n doc_id_s,\n filters_s,\n first(aggr_type_s) AS aggr_type_s,\n SPLIT(filters_s, \' \\$ \') AS filters_ss,\n SUM(weight_d) AS weight_d,\n SUM(aggr_count_i) AS aggr_count_i\n FROM api-test-app_signals_aggr\n GROUP BY query_s, doc_id_s, filters_s',
referenceTime: '2025-10-17T18:56:14.660Z',
skipCheckEnabled: true,
readOptions: [{key: 'splits_per_shard', value: '4'}],
skipJobIfSignalsEmpty: true,
parameters: [
{key: 'signalTypeWeights', value: 'click:1.0,cart:10.0,purchase:25.0'},
{
key: 'signalTypes',
value: '_regex/signalTypeWeights/([\w\-\.]*):([\d\.\-]*)(,|$)/\'$1\'$3/g'
}
],
selectQuery: '*:*',
outputCollection: 'api-test-app_signals_aggr',
useNaturalKey: true,
optimizeSegments: 0,
dataFormat: 'solr',
sparkSQL: 'SELECT * from spark_input',
sparkPartitions: 200
},
hostname: 'driver-api-test-app-click-signal-sjnamxwxsyhq',
result: {
jobConfigId: 'api-test-app_click_signals_aggregation',
jobRunId: 'sjnamxwxsyhq',
aggrClass: 'SQL',
query: 'WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
state: 'finished',
aggregated: 0,
applicationId: 'spark-0424dda9215441c0b232210af1d7cb67',
podId: 'driver-api-test-app-click-signal-sjnamxwxsyhq',
aggr_type_s: 'click@doc_id,filters,query'
},
startTime: '2025-10-16T19:49:15.106Z',
endTime: '2025-10-16T19:49:42.276Z',
duration: 27170
})
};
fetch('https://{FUSION_HOST}/job-launcher/launcher/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://{FUSION_HOST}/job-launcher/launcher/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{FUSION_HOST}/job-launcher/launcher/status"
payload := strings.NewReader("{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{FUSION_HOST}/job-launcher/launcher/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'state' => 'finished',
'jobId' => 'hhzitrwancwv',
'jobConfig' => [
'type' => 'aggregation',
'id' => 'api-test-app_click_signals_aggregation',
'inputCollection' => 'api-test-app_signals',
'sourceCatchup' => true,
'sourceRemove' => false,
'sql' => 'WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\\\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
'rollupSql' => 'SELECT concat_ws(\'|\', query_s, doc_id_s, filters_s) as id,
query_s,
query_s as query_t,
doc_id_s,
filters_s,
first(aggr_type_s) AS aggr_type_s,
SPLIT(filters_s, \' \\\\$ \') AS filters_ss,
SUM(weight_d) AS weight_d,
SUM(aggr_count_i) AS aggr_count_i
FROM api-test-app_signals_aggr
GROUP BY query_s, doc_id_s, filters_s',
'referenceTime' => '2025-10-17T18:56:14.660Z',
'skipCheckEnabled' => true,
'readOptions' => [
[
'key' => 'splits_per_shard',
'value' => '4'
]
],
'skipJobIfSignalsEmpty' => true,
'parameters' => [
[
'key' => 'signalTypeWeights',
'value' => 'click:1.0,cart:10.0,purchase:25.0'
],
[
'key' => 'signalTypes',
'value' => '_regex/signalTypeWeights/([\\w\\-\\.]*):([\\d\\.\\-]*)(,|$)/\'$1\'$3/g'
]
],
'selectQuery' => '*:*',
'outputCollection' => 'api-test-app_signals_aggr',
'useNaturalKey' => true,
'optimizeSegments' => 0,
'dataFormat' => 'solr',
'sparkSQL' => 'SELECT * from spark_input',
'sparkPartitions' => 200
],
'hostname' => 'driver-api-test-app-click-signal-sjnamxwxsyhq',
'result' => [
'jobConfigId' => 'api-test-app_click_signals_aggregation',
'jobRunId' => 'sjnamxwxsyhq',
'aggrClass' => 'SQL',
'query' => 'WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\\\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
'state' => 'finished',
'aggregated' => 0,
'applicationId' => 'spark-0424dda9215441c0b232210af1d7cb67',
'podId' => 'driver-api-test-app-click-signal-sjnamxwxsyhq',
'aggr_type_s' => 'click@doc_id,filters,query'
],
'startTime' => '2025-10-16T19:49:15.106Z',
'endTime' => '2025-10-16T19:49:42.276Z',
'duration' => 27170
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request POST \
--url https://{FUSION_HOST}/job-launcher/launcher/status \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"state": "finished",
"jobId": "hhzitrwancwv",
"jobConfig": {
"type": "aggregation",
"id": "api-test-app_click_signals_aggregation",
"inputCollection": "api-test-app_signals",
"sourceCatchup": true,
"sourceRemove": false,
"sql": "WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"rollupSql": "SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\n query_s,\n query_s as query_t,\n doc_id_s,\n filters_s,\n first(aggr_type_s) AS aggr_type_s,\n SPLIT(filters_s, ' \\\\$ ') AS filters_ss,\n SUM(weight_d) AS weight_d,\n SUM(aggr_count_i) AS aggr_count_i\n FROM api-test-app_signals_aggr\n GROUP BY query_s, doc_id_s, filters_s",
"referenceTime": "2025-10-17T18:56:14.660Z",
"skipCheckEnabled": true,
"readOptions": [
{
"key": "splits_per_shard",
"value": "4"
}
],
"skipJobIfSignalsEmpty": true,
"parameters": [
{
"key": "signalTypeWeights",
"value": "click:1.0,cart:10.0,purchase:25.0"
},
{
"key": "signalTypes",
"value": "_regex/signalTypeWeights/([\\w\\-\\.]*):([\\d\\.\\-]*)(,|$)/'$1'$3/g"
}
],
"selectQuery": "*:*",
"outputCollection": "api-test-app_signals_aggr",
"useNaturalKey": true,
"optimizeSegments": 0,
"dataFormat": "solr",
"sparkSQL": "SELECT * from spark_input",
"sparkPartitions": 200
},
"hostname": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"result": {
"jobConfigId": "api-test-app_click_signals_aggregation",
"jobRunId": "sjnamxwxsyhq",
"aggrClass": "SQL",
"query": "WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"state": "finished",
"aggregated": 0,
"applicationId": "spark-0424dda9215441c0b232210af1d7cb67",
"podId": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"aggr_type_s": "click@doc_id,filters,query"
},
"startTime": "2025-10-16T19:49:15.106Z",
"endTime": "2025-10-16T19:49:42.276Z",
"duration": 27170
}
EOFUpdate a job
Update a Spark job’s state or configuration. The request body must include the jobId.
POST
/
job-launcher
/
launcher
/
status
Update a job
import requests
url = "https://{FUSION_HOST}/job-launcher/launcher/status"
payload = {
"state": "finished",
"jobId": "hhzitrwancwv",
"jobConfig": {
"type": "aggregation",
"id": "api-test-app_click_signals_aggregation",
"inputCollection": "api-test-app_signals",
"sourceCatchup": True,
"sourceRemove": False,
"sql": "WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"rollupSql": "SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,
query_s,
query_s as query_t,
doc_id_s,
filters_s,
first(aggr_type_s) AS aggr_type_s,
SPLIT(filters_s, ' \\$ ') AS filters_ss,
SUM(weight_d) AS weight_d,
SUM(aggr_count_i) AS aggr_count_i
FROM api-test-app_signals_aggr
GROUP BY query_s, doc_id_s, filters_s",
"referenceTime": "2025-10-17T18:56:14.660Z",
"skipCheckEnabled": True,
"readOptions": [
{
"key": "splits_per_shard",
"value": "4"
}
],
"skipJobIfSignalsEmpty": True,
"parameters": [
{
"key": "signalTypeWeights",
"value": "click:1.0,cart:10.0,purchase:25.0"
},
{
"key": "signalTypes",
"value": "_regex/signalTypeWeights/([\w\-\.]*):([\d\.\-]*)(,|$)/'$1'$3/g"
}
],
"selectQuery": "*:*",
"outputCollection": "api-test-app_signals_aggr",
"useNaturalKey": True,
"optimizeSegments": 0,
"dataFormat": "solr",
"sparkSQL": "SELECT * from spark_input",
"sparkPartitions": 200
},
"hostname": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"result": {
"jobConfigId": "api-test-app_click_signals_aggregation",
"jobRunId": "sjnamxwxsyhq",
"aggrClass": "SQL",
"query": "WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"state": "finished",
"aggregated": 0,
"applicationId": "spark-0424dda9215441c0b232210af1d7cb67",
"podId": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"aggr_type_s": "click@doc_id,filters,query"
},
"startTime": "2025-10-16T19:49:15.106Z",
"endTime": "2025-10-16T19:49:42.276Z",
"duration": 27170
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)HttpResponse<String> response = Unirest.post("https://{FUSION_HOST}/job-launcher/launcher/status")
.header("Content-Type", "application/json")
.body("{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}")
.asString();const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
state: 'finished',
jobId: 'hhzitrwancwv',
jobConfig: {
type: 'aggregation',
id: 'api-test-app_click_signals_aggregation',
inputCollection: 'api-test-app_signals',
sourceCatchup: true,
sourceRemove: false,
sql: 'WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
rollupSql: 'SELECT concat_ws(\'|\', query_s, doc_id_s, filters_s) as id,\n query_s,\n query_s as query_t,\n doc_id_s,\n filters_s,\n first(aggr_type_s) AS aggr_type_s,\n SPLIT(filters_s, \' \\$ \') AS filters_ss,\n SUM(weight_d) AS weight_d,\n SUM(aggr_count_i) AS aggr_count_i\n FROM api-test-app_signals_aggr\n GROUP BY query_s, doc_id_s, filters_s',
referenceTime: '2025-10-17T18:56:14.660Z',
skipCheckEnabled: true,
readOptions: [{key: 'splits_per_shard', value: '4'}],
skipJobIfSignalsEmpty: true,
parameters: [
{key: 'signalTypeWeights', value: 'click:1.0,cart:10.0,purchase:25.0'},
{
key: 'signalTypes',
value: '_regex/signalTypeWeights/([\w\-\.]*):([\d\.\-]*)(,|$)/\'$1\'$3/g'
}
],
selectQuery: '*:*',
outputCollection: 'api-test-app_signals_aggr',
useNaturalKey: true,
optimizeSegments: 0,
dataFormat: 'solr',
sparkSQL: 'SELECT * from spark_input',
sparkPartitions: 200
},
hostname: 'driver-api-test-app-click-signal-sjnamxwxsyhq',
result: {
jobConfigId: 'api-test-app_click_signals_aggregation',
jobRunId: 'sjnamxwxsyhq',
aggrClass: 'SQL',
query: 'WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
state: 'finished',
aggregated: 0,
applicationId: 'spark-0424dda9215441c0b232210af1d7cb67',
podId: 'driver-api-test-app-click-signal-sjnamxwxsyhq',
aggr_type_s: 'click@doc_id,filters,query'
},
startTime: '2025-10-16T19:49:15.106Z',
endTime: '2025-10-16T19:49:42.276Z',
duration: 27170
})
};
fetch('https://{FUSION_HOST}/job-launcher/launcher/status', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));require 'uri'
require 'net/http'
url = URI("https://{FUSION_HOST}/job-launcher/launcher/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}"
response = http.request(request)
puts response.read_bodypackage main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{FUSION_HOST}/job-launcher/launcher/status"
payload := strings.NewReader("{\n \"state\": \"finished\",\n \"jobId\": \"hhzitrwancwv\",\n \"jobConfig\": {\n \"type\": \"aggregation\",\n \"id\": \"api-test-app_click_signals_aggregation\",\n \"inputCollection\": \"api-test-app_signals\",\n \"sourceCatchup\": true,\n \"sourceRemove\": false,\n \"sql\": \"WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"rollupSql\": \"SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\\n query_s,\\n query_s as query_t,\\n doc_id_s,\\n filters_s,\\n first(aggr_type_s) AS aggr_type_s,\\n SPLIT(filters_s, ' \\\\\\\\$ ') AS filters_ss,\\n SUM(weight_d) AS weight_d,\\n SUM(aggr_count_i) AS aggr_count_i\\n FROM api-test-app_signals_aggr\\n GROUP BY query_s, doc_id_s, filters_s\",\n \"referenceTime\": \"2025-10-17T18:56:14.660Z\",\n \"skipCheckEnabled\": true,\n \"readOptions\": [\n {\n \"key\": \"splits_per_shard\",\n \"value\": \"4\"\n }\n ],\n \"skipJobIfSignalsEmpty\": true,\n \"parameters\": [\n {\n \"key\": \"signalTypeWeights\",\n \"value\": \"click:1.0,cart:10.0,purchase:25.0\"\n },\n {\n \"key\": \"signalTypes\",\n \"value\": \"_regex/signalTypeWeights/([\\\\w\\\\-\\\\.]*):([\\\\d\\\\.\\\\-]*)(,|$)/'$1'$3/g\"\n }\n ],\n \"selectQuery\": \"*:*\",\n \"outputCollection\": \"api-test-app_signals_aggr\",\n \"useNaturalKey\": true,\n \"optimizeSegments\": 0,\n \"dataFormat\": \"solr\",\n \"sparkSQL\": \"SELECT * from spark_input\",\n \"sparkPartitions\": 200\n },\n \"hostname\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"result\": {\n \"jobConfigId\": \"api-test-app_click_signals_aggregation\",\n \"jobRunId\": \"sjnamxwxsyhq\",\n \"aggrClass\": \"SQL\",\n \"query\": \"WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \\\"30 days\\\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\\\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters\",\n \"state\": \"finished\",\n \"aggregated\": 0,\n \"applicationId\": \"spark-0424dda9215441c0b232210af1d7cb67\",\n \"podId\": \"driver-api-test-app-click-signal-sjnamxwxsyhq\",\n \"aggr_type_s\": \"click@doc_id,filters,query\"\n },\n \"startTime\": \"2025-10-16T19:49:15.106Z\",\n \"endTime\": \"2025-10-16T19:49:42.276Z\",\n \"duration\": 27170\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{FUSION_HOST}/job-launcher/launcher/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'state' => 'finished',
'jobId' => 'hhzitrwancwv',
'jobConfig' => [
'type' => 'aggregation',
'id' => 'api-test-app_click_signals_aggregation',
'inputCollection' => 'api-test-app_signals',
'sourceCatchup' => true,
'sourceRemove' => false,
'sql' => 'WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\\\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
'rollupSql' => 'SELECT concat_ws(\'|\', query_s, doc_id_s, filters_s) as id,
query_s,
query_s as query_t,
doc_id_s,
filters_s,
first(aggr_type_s) AS aggr_type_s,
SPLIT(filters_s, \' \\\\$ \') AS filters_ss,
SUM(weight_d) AS weight_d,
SUM(aggr_count_i) AS aggr_count_i
FROM api-test-app_signals_aggr
GROUP BY query_s, doc_id_s, filters_s',
'referenceTime' => '2025-10-17T18:56:14.660Z',
'skipCheckEnabled' => true,
'readOptions' => [
[
'key' => 'splits_per_shard',
'value' => '4'
]
],
'skipJobIfSignalsEmpty' => true,
'parameters' => [
[
'key' => 'signalTypeWeights',
'value' => 'click:1.0,cart:10.0,purchase:25.0'
],
[
'key' => 'signalTypes',
'value' => '_regex/signalTypeWeights/([\\w\\-\\.]*):([\\d\\.\\-]*)(,|$)/\'$1\'$3/g'
]
],
'selectQuery' => '*:*',
'outputCollection' => 'api-test-app_signals_aggr',
'useNaturalKey' => true,
'optimizeSegments' => 0,
'dataFormat' => 'solr',
'sparkSQL' => 'SELECT * from spark_input',
'sparkPartitions' => 200
],
'hostname' => 'driver-api-test-app-click-signal-sjnamxwxsyhq',
'result' => [
'jobConfigId' => 'api-test-app_click_signals_aggregation',
'jobRunId' => 'sjnamxwxsyhq',
'aggrClass' => 'SQL',
'query' => 'WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type=\'response\') q ON q.id = c.fusion_query_id WHERE c.type IN (\'click\',\'cart\',\'purchase\') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, "30 days", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws(\'|\', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, \' \\\\$ \') AS filters_ss, weighted_sum(typed_weight_d, type, \'click:1.0,cart:10.0,purchase:25.0\') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters',
'state' => 'finished',
'aggregated' => 0,
'applicationId' => 'spark-0424dda9215441c0b232210af1d7cb67',
'podId' => 'driver-api-test-app-click-signal-sjnamxwxsyhq',
'aggr_type_s' => 'click@doc_id,filters,query'
],
'startTime' => '2025-10-16T19:49:15.106Z',
'endTime' => '2025-10-16T19:49:42.276Z',
'duration' => 27170
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}curl --request POST \
--url https://{FUSION_HOST}/job-launcher/launcher/status \
--header 'Content-Type: application/json' \
--data @- <<EOF
{
"state": "finished",
"jobId": "hhzitrwancwv",
"jobConfig": {
"type": "aggregation",
"id": "api-test-app_click_signals_aggregation",
"inputCollection": "api-test-app_signals",
"sourceCatchup": true,
"sourceRemove": false,
"sql": "WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"rollupSql": "SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\n query_s,\n query_s as query_t,\n doc_id_s,\n filters_s,\n first(aggr_type_s) AS aggr_type_s,\n SPLIT(filters_s, ' \\\\$ ') AS filters_ss,\n SUM(weight_d) AS weight_d,\n SUM(aggr_count_i) AS aggr_count_i\n FROM api-test-app_signals_aggr\n GROUP BY query_s, doc_id_s, filters_s",
"referenceTime": "2025-10-17T18:56:14.660Z",
"skipCheckEnabled": true,
"readOptions": [
{
"key": "splits_per_shard",
"value": "4"
}
],
"skipJobIfSignalsEmpty": true,
"parameters": [
{
"key": "signalTypeWeights",
"value": "click:1.0,cart:10.0,purchase:25.0"
},
{
"key": "signalTypes",
"value": "_regex/signalTypeWeights/([\\w\\-\\.]*):([\\d\\.\\-]*)(,|$)/'$1'$3/g"
}
],
"selectQuery": "*:*",
"outputCollection": "api-test-app_signals_aggr",
"useNaturalKey": true,
"optimizeSegments": 0,
"dataFormat": "solr",
"sparkSQL": "SELECT * from spark_input",
"sparkPartitions": 200
},
"hostname": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"result": {
"jobConfigId": "api-test-app_click_signals_aggregation",
"jobRunId": "sjnamxwxsyhq",
"aggrClass": "SQL",
"query": "WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"state": "finished",
"aggregated": 0,
"applicationId": "spark-0424dda9215441c0b232210af1d7cb67",
"podId": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"aggr_type_s": "click@doc_id,filters,query"
},
"startTime": "2025-10-16T19:49:15.106Z",
"endTime": "2025-10-16T19:49:42.276Z",
"duration": 27170
}
EOFBody
application/json
Available options:
unknown, idle, starting, running, finishing, cancelling, finished, cancelled, error, skipped Example:
"finished"
The job run ID. This is distinct from id which is the name of the job configuration.
Example:
"hhzitrwancwv"
Show child attributes
Show child attributes
Example:
{
"type": "aggregation",
"id": "api-test-app_click_signals_aggregation",
"inputCollection": "api-test-app_signals",
"sourceCatchup": true,
"sourceRemove": false,
"sql": "WITH sigs_with_filters AS ( SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api-test-app_signals c LEFT JOIN (SELECT id, filters_s FROM api-test-app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS ( SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type ) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"rollupSql": "SELECT concat_ws('|', query_s, doc_id_s, filters_s) as id,\n query_s,\n query_s as query_t,\n doc_id_s,\n filters_s,\n first(aggr_type_s) AS aggr_type_s,\n SPLIT(filters_s, ' \\\\$ ') AS filters_ss,\n SUM(weight_d) AS weight_d,\n SUM(aggr_count_i) AS aggr_count_i\n FROM api-test-app_signals_aggr\n GROUP BY query_s, doc_id_s, filters_s",
"referenceTime": "2025-10-17T18:56:14.660Z",
"skipCheckEnabled": true,
"readOptions": [{ "key": "splits_per_shard", "value": "4" }],
"skipJobIfSignalsEmpty": true,
"parameters": [
{
"key": "signalTypeWeights",
"value": "click:1.0,cart:10.0,purchase:25.0"
},
{
"key": "signalTypes",
"value": "_regex/signalTypeWeights/([\\w\\-\\.]*):([\\d\\.\\-]*)(,|$)/'$1'$3/g"
}
],
"selectQuery": "*:*",
"outputCollection": "api-test-app_signals_aggr",
"useNaturalKey": true,
"optimizeSegments": 0,
"dataFormat": "solr",
"sparkSQL": "SELECT * from spark_input",
"sparkPartitions": 200
}
Example:
"driver-api-test-app-click-signal-sjnamxwxsyhq"
Show child attributes
Show child attributes
Example:
{
"jobConfigId": "api-test-app_click_signals_aggregation",
"jobRunId": "sjnamxwxsyhq",
"aggrClass": "SQL",
"query": "WITH sigs_with_filters AS (SELECT c.query as query, c.doc_id, q.filters_s as filters, c.type, c.ref_time, coalesce(c.count_i,1) as count_i, c.timestamp_tdt, greatest(coalesce(c.weight_d,0.1),0.0) as weight_d FROM api_test_app_signals c LEFT JOIN (SELECT id, filters_s FROM api_test_app_signals WHERE type='response') q ON q.id = c.fusion_query_id WHERE c.type IN ('click','cart','purchase') AND c.timestamp_tdt >= c.catchup_timestamp_tdt ), signal_type_groups AS (SELECT SUM(count_i) AS typed_aggr_count_i, query, doc_id, type, filters, time_decay(count_i, timestamp_tdt, \"30 days\", ref_time, weight_d) AS typed_weight_d FROM sigs_with_filters GROUP BY doc_id, query, filters, type) SELECT concat_ws('|', query, doc_id, filters) as id, SUM(typed_aggr_count_i) AS aggr_count_i, query AS query_s, query AS query_t, doc_id AS doc_id_s, filters AS filters_s, SPLIT(filters, ' \\\\$ ') AS filters_ss, weighted_sum(typed_weight_d, type, 'click:1.0,cart:10.0,purchase:25.0') AS weight_d FROM signal_type_groups GROUP BY query, doc_id, filters",
"state": "finished",
"aggregated": 0,
"applicationId": "spark-0424dda9215441c0b232210af1d7cb67",
"podId": "driver-api-test-app-click-signal-sjnamxwxsyhq",
"aggr_type_s": "click@doc_id,filters,query"
}
Example:
"2025-10-16T19:49:15.106Z"
Example:
"2025-10-16T19:49:42.276Z"
Example:
27170
Response
200
OK
Was this page helpful?
⌘I