2012-03-07 78 views
-3

我有一个php web应用程序进行导入。我打开页面点击导入并关闭它。 它在将结果保存到数据库之前进行各种检查。cronjob启动php web应用程序

现在我想每天自动做这个。怎么样?

cronjob只启动php脚本,但我可以用它启动一个应用程序吗?

更具体的: 我有一个表示层,控制器和一个DAO。 对于cronjob,表示层是不相关的。

我实际需要启动的是控制器中的一个功能。这个导入函数从amazon获得一个s3桶列表,与数据库中现有的条目进行交叉检查,并使用DAO将新的条目保存到数据库中。我还使用了2个其他对象。 所以提取代码并将其放在脚本中确实是一个矫枉过正的问题。也因为我有4个不同的进口。

与wget我不明白如何将右击传递给cronjob。我在该页面上有4个按钮来启动4个不同的导入。我使用的是JavaScript函数的onclick =“submitImport(‘importTranscripts’)”和形式:

<form name="form1" id="importForm" action="" method="POST" enctype="multipart/form-data"> 

怎样的联系已经到什么样子的?

+0

为什么你需要启动应用程序,如果一切都在PHP? – Reno 2012-03-07 07:41:56

+5

如果你想这样做的话,你应该正确地抽象出从你的应用程序导出的代码,并使它可以从命令行的php脚本中调用,这样你可以避免在cron中运行时HTTP的开销,但是这是一种最佳做法。 – ChrisR 2012-03-07 07:45:07

回答

1

在你的cron工作中使用wget。例如

wget -O- http://example.com/yourscript.php 
+0

更具体地说: – user1254065 2012-03-07 07:54:04

+0

当我有一个表单并希望在POST中传递参数时,链接的外观如何? – user1254065 2012-03-07 08:50:33

+0

为了到达该导入页面,我必须通过登录。 wget有可能吗? – user1254065 2012-03-07 10:54:51

相关问题