Edu*_*rdo 5 php ajax cron jobs multithreading
我有兴趣在Web请求之后启动进程,或者可能在初始线程完成后分支新进程.
我宁愿不使用cron,因为我将要运行的作业的性质以及它们需要运行的频率,等待一分钟刷新不是一种选择.
我正在考虑这样做的几种方法:
1)中调用JavaScript的网页揭开序幕的过程,并立即返回,然后之后运行任务,例如AJAX("/ run_jobs.php?工作= 123")......你的想法
2)线程完成后分叉新线程; 即output_page(); 新线程(); run_job(123); 出口();
任何人对此主题有任何想法或有这方面的经验.
那么这取决于你想要的工作.一种更复杂但更具可扩展性和可控性的方法是使用Gearman来启动和控制作业.好处是你可以将作业分发到其他盒子,这样你的web服务器就不会满负荷.
简单的方法是使用exec和nohup类似的
<?php
exec("nohup /usr/bin/php script.php >/dev/null 2>/dev/null &");
?>
Run Code Online (Sandbox Code Playgroud)
重要的部分是从PHP进程中分离输出通道.要读取进程的结果,可以将其存储在数据库中.
| 归档时间: |
|
| 查看次数: |
2671 次 |
| 最近记录: |