Tony Alfonse
02/23/2023, 11:32 PM#!/bin/bash
eval "$(conda shell.bash hook)"
conda activate ETL
prefect server start
And created this systemd service:
[Unit]
Description=Prefect
[Service]
Type=simple
ExecStart=/home/zeephremia/files_required/initate.sh
User=root
Group=root
[Install]
WantedBy=multi-user.target
Whenever I run the shell script locally, it works but whenever the systemd service triggers it, it throws this error:
prefect_service.service - Prefect
Loaded: loaded (/etc/systemd/system/prefect_service.service; enabled; vendor preset: enabled)
Active: inactive (dead) since Thu 2023-02-23 23:29:43 UTC; 3s ago
Process: 2233 ExecStart=/home/zeephremia/files_required/initate.sh (code=exited, status=0/SUCCESS)
Main PID: 2233 (code=exited, status=0/SUCCESS)
Feb 23 23:29:43 linux-server systemd[1]: Started Prefect.
Feb 23 23:29:43 linux-server initate.sh[2233]: Starting the script...
Feb 23 23:29:43 linux-server initate.sh[2234]: /home/zeephremia/files_required/initate.sh: line 5: conda: command not found
Feb 23 23:29:43 linux-server initate.sh[2235]: /home/zeephremia/files_required/initate.sh: line 6: conda: command not found
Feb 23 23:29:43 linux-server initate.sh[2237]: /home/zeephremia/files_required/initate.sh: line 7: prefect: command not found
Feb 23 23:29:43 linux-server initate.sh[2233]: Script completed.
Feb 23 23:29:43 linux-server systemd[1]: prefect_service.service: Succeeded.
Would really appreciate any help, thank you! 🙂Ryan Peden
02/24/2023, 2:28 AM[Service]
section you could do something like:
ExecStart=/home/myuser/.conda/envs/my_env/bin/prefect server start
The executable script that gets generated when you install Prefect in a conda environment should automatically use the Python installation for that environment even if that env isn't currently activated.Bring your towel and join one of the fastest growing data communities. Welcome to our second-generation open source orchestration platform, a completely rethought approach to dataflow automation.
Powered by