Run a task on a remote machine, as if it were running in your local terminal.
Under the hood, nextask delegates the task to an available worker, streaming the logs back to your terminal, snapshotting the code at the time of submission, and storing the task artifacts produced in the task.
curl -fsSL https://raw.githubusercontent.com/TolgaOk/nextask/main/install | bashOnce a task is enqueued, an available worker picks it up.
If provided --attach flag, nextask will hold the connection to the DB, streaming the logs to your terminal.
nextask enqueue 'python train.py' --attachProvided the with git flag, nextask will take a snapshot of the repository (including uncommitted changes) the task call is made from and push it to the <project>/<TASK_ID> branch in the remote Git repository (see config to set).
If also provided the with s3 flag, nextask will store the artifacts produced in the task at <remote>/<task_id>/ within the S3 bucket (configured in your config).
nextask enqueue 'python train.py' --with git --with s3You can access the logs of a task by providing the task ID or live watch the task logs by providing the --attach flag.
nextask log TASK_ID --attachEach log command is a viewer that request the logs from the DB.
Hence, you can read past logs and follow new output independently.
nextask is build agentic workflow in mind.
Agents can wait, log, and enqueue tasks, all managed by the DB.
Use nextask --help for all commands.