
Reputation
Badges 1
37 × Eureka!@<1523701070390366208:profile|CostlyOstrich36> here is the INFO section:
Yes, I started the agent in docker mode with clearml-agent daemon --queue direct-relief-forecasting --docker directrelief_ml_clearml --cpu-only -d
Sorry, was trying to figure out how to do this. So, looks like I can't as get an error NameError: name 'ssh' is not defined
This is schedule.py
where the schedule_task_id
is the id for a pipeline that has previously been run and now we want to schedule it:
from clearml import Task
from clearml.automation import TaskScheduler
if __name__ == "__main__":
scheduler = TaskScheduler(force_create_task_name='megan-test-remote-pipeline')
scheduler.add_task(
name='Simple Pipeline Schedule Run Test',
schedule_task_id='94a7e898bb3f4494a31828187710f5bd',
queue='megan_testing',
...
Run is still marked as "Completed"
Also, we use Dagster for orchestration.
Here is a sample from the end of the logs where it failed:
/home/megan/code/direct-relief-forecasting/forecast.py:277: FutureWarning:
The behavior of DatetimeProperties.to_pydatetime is deprecated, in a future version this will return a Series containing python datetime objects instead of an ndarray. To retain the old behavior, call `np.array` on the result
2024-07-04 12:14:04.589 | INFO | forecast:infer:281 - Inferring for dates: ['2024-06-13']
2024-07-04 12:14:04.734 | INFO |...
Thanks @<1523701070390366208:profile|CostlyOstrich36> , I've figured this out and specified how to build the ClearML agent now with the correct python version.
Hi @<1523701070390366208:profile|CostlyOstrich36> , another quick question, can you run a pipeline on a schedule
or are schedules only for Tasks? We are battling to figure out how to automate the pipelines.
I have an agent running and assigned to the queue megan-testing
:
Thanks, I'll have a look at the youtube videos. I've been going over the documentation a lot and haven't found much about actually running and deploying pipelines, and a lot of details seem to be missing.
Error when executing schedule with a pipeline task ID defined:
Launching job: ScheduleJob(name='Simple Pipeline Schedule Run Test', base_task_id='4cf5b603e3ae4593a8c2dd6c34190c6d', base_function=None, queue='megan_testing', target_project=None, single_instance=False, task_parameters={}, task_overrides={}, clone_task=True, _executed_instances=None, execution_limit_hours=None, recurring=True, starting_time=datetime.datetime(1970, 1, 1, 0, 0), minute=2, hour=None, day=None, weekdays=['mon...
Ah, ok thanks so much, I'll work on this now.
Ok, so the image needs ssh in order to clone the repo, not just the server.
This is my dockerfile:
# Use a slim Python image as the base image
FROM python:3.9.9-slim as builder
ARG CODEARTIFACT_AUTH_TOKEN
ARG POETRY_HTTP_BASIC_ARTIFACT_USERNAME
ARG POETRY_HTTP_BASIC_ARTIFACT_PASSWORD
# Set environment variables for Poetry
ENV POETRY_HOME=/opt/poetry \
POETRY_NO_INTERACTION=1 \
POETRY_VIRTUALENVS_CREATE=false \
PATH="/opt/poetry/bin:$PATH"\
PYTHONPATH="/ml_pipeline:${...
@<1523701205467926528:profile|AgitatedDove14> Hi! Could you give any feedback on the above? We are trying to figure out if/how we can run pipelines on a schedule and also trigger them with an external event.
Following up, I found this in the code on Github: None
A taskid
is required though - to get this id would we run the pipeline manually as it then shows up in the Web UI and then just use the id of the task that we can get from the UI by clicking on the pipeline run info?
Yes, it does. And I can clone this repo and branch to the server outside of clearml just using git clone ....
as I've added ssh keys and authenticated.
Yes, I have a log in for the clearml server and I've set up an agent using a docker image. And I've added the ssh keys here. I then start the agent with clearml-agent daemon --queue direct-relief-forecasting --cpu-only -d
But, then when I try run the pipeline remotely, I'm getting the error above.
I found this issue but not sure if it's the same thing as it's from awhile back: None and also not sure what the final solution here was.
I found this issue but not sure if it's the same thing as it's from awhile back: None And the link I'm trying to clone doesn't start with https
but with git@bitbucket
Thanks, @<1523701070390366208:profile|CostlyOstrich36> .
If I use Task.current_task()
, I then get a task object back that looks like <clearml.task.Task object at 0x7f7723b90a00>
. How does one get the url from this?
For reference for anyone else, this is what I did:
current_task = Task.current_task()
model_run_url = Task.get_task_output_log_web_page(
task_id=current_task.id,
project_id="abc")
Hi @<1523701205467926528:profile|AgitatedDove14> , thanks for your reply. We want to use the Scheduler
but to run a pipeline. Looking at this example here, it looks like it only works with tasks: None
So, in my code example above, where I have executing_pipeline
as the pipeline function created with the decorator, can this be scheduled to run with the TaskScheduler
, ie. used as the function...
I've figured out that this is because I have a config.yaml
file with secrets in it in the repository. This is not committed to git. So, when running remotely, the file is no present. Is the recommendation to put this in the docker image and then I have to specify an entry point in the dockerfile? Previously, I was hoping to just get away with creating a docker image with the installed packages for the agent, not with the repository code as well. Is this not the recommended approach?
I'm just installing the required packages (one of which is an internal package on CodeArtifact).
Hi there, I am getting this exact same error. I have set force_git_ssh_protocol: true
and have commented out the git_user
and git_pass
, but still getting the error. Is the only way to fix this to clear the cache? Do you have to do this every time then?
Hi @<1523701070390366208:profile|CostlyOstrich36> , I've gotten past the environment set up phase - I have the agent running in --services-mode
for the pipeline, but the pipeline step is failing and I can't see why from the error message. When I run this locally it works (ie. if I add PipelineDecorator.run_locally()
).
Environment setup completed successfully
Starting Task Execution:
1710160150496 direct-relief:cpu:0:service:5062dce7ff1d49cfbaf36c96abe3282c DEBUG ClearML res...