QStash is an HTTP based messaging and scheduling solution for the serverless and edge runtimes.
QStash API offers a secure, scalable, and simple way to manage message queues and defer tasks. Using this API, you can enqueue messages, schedule tasks to run after a delay, and ensure that tasks are executed exactly once, leveraging the power of serverless architecture. With Pipedream's ability to connect to a multitude of services, you can build complex workflows that trigger actions in other apps based on events in QStash, allowing you to automate cross-application business processes with ease.
import { axios } from '@pipedream/platform';
export default defineComponent({
props: {
qstash: {
type: "app",
app: "qstash",
},
callback_url: {
type: "string",
label: "Callback URL",
description: "A URL that will be called by QStash with the body given",
},
delay: {
type: "string",
label: "Delay",
default: 0,
description: "Delay the HTTP request to the callback URL (seconds)"
}
},
async run({steps, $}) {
return axios($, {
url: `https://qstash.upstash.io/v1/publish/${this.callback_url}`,
method: 'POST',
headers: {
'Authorization': `Bearer ${this.qstash.auth.qstash_token}`,
'Upstash-Delay': `${this.qstash.delay}s`
},
data: {
hello: 'world'
}
});
}
})
Develop, run and deploy your Python code in Pipedream workflows. Integrate seamlessly between no-code steps, with connected accounts, or integrate Data Stores and manipulate files within a workflow.
This includes installing PyPI packages, within your code without having to manage a requirements.txt
file or running pip
.
Below is an example of using Python to access data from the trigger of the workflow, and sharing it with subsequent workflow steps:
def handler(pd: "pipedream"):
# Reference data from previous steps
print(pd.steps["trigger"]["context"]["id"])
# Return data for use in future steps
return {"foo": {"test":True}}