我如何每分钟运行我的计划任务?当我运行命令const dummyFunction = async (val: string, index: number): Promise<string[]> => {
let resu: string[] = [];
resu = [...resu, await dummyPromise<string>(`${val} appel 1`, index)];
resu = [...resu, await dummyPromise<string>(`${val} appel 2`, index + 0.5)];
resu = [...resu, await dummyPromise<string>(`${val} appel 3`, index + 1.2)];
resu = [...resu, await dummyPromise<string>(`${val} appel 4`, index + 1.7)];
resu = [...resu, await dummyPromise<string>(`${val} appel 5`, index + 0.7)];
return resu;
};
const dummyPromise = async <T>(param: T, index: number): Promise<T> => {
return new Promise(resolve => {
setTimeout(() => resolve(param), 3 * index * 1000);
console.log("dans dummypro", 3 * index * 1000);
});
};
时,控制台会显示“没有计划的命令准备就绪。”。我应该如何正确设置任务?例如,如果我使用单独命令const test = async (array: string[]): Promise<string[]> => {
const result: string[] = await executeArrayOfFunctionPromiseByChunk<string>(
array,
dummyFunction,
2
);
return result;
};
test(["a", "b", "c"]).then((result: string[]) => {
console.log(result.flat(1));
});
可以工作,但是在开发应用程序时我想用php artisan schedule:run
来完成。
php artisan command:send_info_email_before_event
答案 0 :(得分:3)
您应该通过 cron作业对其进行设置,使其每分钟运行一次。任务计划不能手动运行。
在终端运行中:
crontab -e
然后添加:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1
保存后,它将每分钟运行一次应用程序计划程序(无需运行php artisan schedule:run
。
See the docs了解更多信息。
答案 1 :(得分:0)
在Windows中,您可以安排任务。
这将打开一个窗口,可让您在Windows 10中创建新的“ Cron Job”。
名称:这是您记住该任务功能的简便方法。您可以输入任何内容。
说明:只是更深入的说明,您可以记住它是什么。
用户帐户:我建议使用完全特权帐户,以便您的cron作业可以根据需要创建和修改文件。但是我也建议您使用一个专门用于Cron作业的帐户,以便您可以随时撤消权限!
由于网站的性质,我肯定会选中“在用户登录或不登录时运行”,并保留不存储密码(如果保留此密码,则会抛出XML无效错误未选中,则需要输入密码)
我还将检查“以最高特权运行”
然后,单击“ 触发”和“ 添加新”
要运行每天运行一次以上的“ Cron Job”任务,请单击日常任务。 每天修复,并每分钟重复一次任务。确保单击启用。之后,单击确定,然后单击选项卡“操作”,然后单击“新建”。
将程序/脚本设置为/path/to/php.exe,并运行/ path / to / artisan计划的参数。如果路径中有空格,请确保使用“”。我建议根据经验使用它们。
请记住,不要使用生产电子邮件凭据,您可以使用https://mailtrap.io之类的方法来“捕获”所有已发送的电子邮件。