javascript - 带有 cron 的 Javascript
问题描述
我正在为数据库使用 codeigniter 和 cpanel。我已经设置了一个 cronjob。在 cronjob 函数中,我正在调用一个函数。在该功能中,我正在创建一个 pdf - 它包括地图和图表。我为 cron 创建了链接。当我在浏览器中单击该链接时,它正在工作。但在 cronjob 中它不起作用。
public function distance_report_test_pdf($test)
{
$this->load->view('client_admin/distance_reporttest',$data);
}
$(document).ready(function() {
get_pdfreport();
}
function get_pdfreport()
{
window.location.href = '<?php echo base_url();?>index.php/Auto_email_schedule_controller/generate_mapimage/'
+ user + '/' + start_date + '/' + to_date + '/' + location + '/' + group + '/' + region + '/' + manager + '/' + client_id + '/' + schedule_id;
}
我只需要get_pdfreport();
在 cronjob 中调用该函数。它包含在“ distance_reporttest.php ”视图文件中。我的服务器是linux服务器。是否可以在 cron 中的 javascript 之上运行?如果没有,请告诉我,我该怎么办?
解决方案
cronjob 只是运行一个命令行脚本。
您可以使用 命令行通过命令行运行 PHP 程序php /path/to/file.php
,但该脚本的输出只会转储到 STDOUT。它不会解析 HTML。它不会从脚本元素中提取 JavaScript。它不会执行那个 JavaScript。
您可以通过向支持 PHP 的 Web 服务器发出 HTTP 请求来运行 PHP 程序。您可以通过运行类似curl
或wget
从命令行的 HTTP 客户端来做到这一点。同样,他们不会解析 HTML 等。
你可以做同样的事情,但是使用像 Puppeteer 这样的工具来解析 HTML 并运行 JS 等。
……但这将是一种非常复杂且昂贵的方法。
重写 PHP,以便当前在 JavaScript 中的逻辑(生成一些数据,然后通过 URL 将其传递给不同的 PHP 程序)改为用 PHP 表示(并且让 PHP 程序只使用它而不是将其传递给不同的 PHP 程序)。
推荐阅读
- git - 如何提取另一个内部的 git 存储库
- excel - CSV文件,不保留前导零,做什么
- django - How to make a foreign key relationship to a many-to-many field?
- python - 使用python查找偶数斐波那契数
- jenkins - How to use jenkins use environment variables in parameters in a Pipeline
- javascript - 如何防止 Angular 8 中的事件冒泡?
- android - NativeScript CleartextHTTPTrafficNotPermitted
- asp.net-mvc - Change kendo grid data with ajax call
- java - KeyListener wont change variable
- laravel - laravel htaccess force www