开发手记系列的宗旨就是:能用就行!复杂的原理都不涉及,本篇就简单记录下基于python如何快速启动ARQ程序。
启动的前提:有稳定可连接的redis服务、有完整可启动的python项目,以及最好有一个项目专属的虚拟环境,python环境里有arq包及其依赖。
1. 一次性启动
假设独立的ARQ程序命名为arq_jobs.py(下同),在终端运行命令
arq arq_jobs.WorkerSettings
2. Linux系统设置service
Linux设置、启动、查看service的流程在此处 → 开发手记(六)——Linux设置开机自启动服务 - 学术大垃圾 - 博客园
arqWorker.service的内容如下,根据实际情况修改 Description、After、WorkingDirectory、ExecStart、Environment
[Unit] Description=ARQ Worker for Simulation System After=network.target simusystem.service[Service] Type=simple User=root WorkingDirectory=/root/projects/SimSystem ExecStart=/root/projects/simu/bin/python -m arq arq_jobs.WorkerSettings Restart=always RestartSec=10 Environment=PYTHONPATH=/root/projects/simu[Install] WantedBy=multi-user.target
python -m arq arq_jobs.WorkerSettings 和 arq arq_jobs.WorkerSettings 在绝对路径下效果等价。推荐使用python -m,在虚拟环境里更可靠。
3. Windows系统设置任务
任务设置流程 → 开发手记(一)——Windows设置开机自启动后台服务 - 学术大垃圾 - 博客园
程序或脚本:
盘符:\path\to\your\venv\Scripts\python.exe
添加参数:
-m arq arq_jobs.WorkerSettings
起始于:
盘符:\path\to\project_root
