用PHP进行数据转换和加载

用PHP进行数据转换和加载,php,linux,cron,Php,Linux,Cron,我正在寻找以下场景的一些选项/意见 我曾被要求开发一个解决方案,每1-5分钟获取3个单独的数据源(web和ftp),并重复出现。获取提要后,在将提要推送到Magento之前需要进行一些转换 我精通.NET,所以我通常要么在SQLServerIntegrationServices中编写此应用程序,要么使用Winforms编写桌面应用程序并在调度器上运行 我对PHP一窍不通,对Linux也没有什么经验。我正试图向那个找我帮忙的人提出一些建议,帮助他做出最好的决定,因为我认为为我的.NET应用程序提供

我正在寻找以下场景的一些选项/意见

我曾被要求开发一个解决方案,每1-5分钟获取3个单独的数据源(web和ftp),并重复出现。获取提要后,在将提要推送到Magento之前需要进行一些转换

我精通.NET,所以我通常要么在SQLServerIntegrationServices中编写此应用程序,要么使用Winforms编写桌面应用程序并在调度器上运行

我对PHP一窍不通,对Linux也没有什么经验。我正试图向那个找我帮忙的人提出一些建议,帮助他做出最好的决定,因为我认为为我的.NET应用程序提供单独的主机将数据推送到现有的Linux服务器是没有意义的

人们在Linux上使用什么方法来执行数据转换和集成之类的任务?该任务将从远程源下载一个文件,执行一些验证并输出一个XML或CSV文件。 我是否应该每分钟运行一个CRON作业,调用一个完成所有工作的PHP页面?超时和长时间运行的作业会发生什么情况? 还应考虑哪些其他办法


谢谢

好吧,您可以用普通php编写某种守护程序。 您还可以编写一个脚本,用cron每N分钟启动一次迭代。 这取决于你喜欢什么。
您可以从cron btw使用命令“php-f filename.php”运行php脚本,您甚至不需要web服务器。

好吧,您可以用普通php编写某种守护程序。 您还可以编写一个脚本,用cron每N分钟启动一次迭代。 这取决于你喜欢什么。
您可以使用cron的命令“php-f filename.php”运行php脚本,顺便说一句,您甚至不需要web服务器。

我认为每5分钟运行一次的cron作业是一个很好的解决方案。使用命令行中的PHP,可以使用函数下载数据。如果输入数据是CSV文件,则可以使用。如果是XML,则可以使用。从那里,操作数据应该相当容易


您可以探索的另一个选项是使用wget下载文件,然后使用单独的脚本来读取这些文件。

我认为每5分钟运行一次cron作业是一个很好的解决方案。使用命令行中的PHP,可以使用函数下载数据。如果输入数据是CSV文件,则可以使用。如果是XML,则可以使用。从那里,操作数据应该相当容易

您可以探索的另一个选项是使用wget下载文件,然后使用单独的脚本来读取这些文件

人们在Linux上使用什么方法来执行数据等任务 转型与整合

我通常使用PHP。总的来说,我认为最好是使用任何能让工作顺利完成并且你能熟练使用的工具。由于您的大部分经验都是在.NET中完成的,您可能想看看是否可以在.NET中完成大部分工作

该任务实质上是从远程源下载一个文件, 执行一些验证并输出XML或CSV文件

在我看来,PHP非常适合这种任务。用PHP解析XML或CSV文件非常容易——请查看XML和PHP文件

我应该每分钟运行一个CRON作业来调用PHP吗 哪一页做所有的工作?超时和长时间运行的作业会发生什么情况

我认为做一个cron工作是一个不错的选择。正如mephisto123所指出的,你可以,这就是你想要做的。CLI脚本不会像页面那样超时。它们可以永远运行(前提是您没有耗尽内存或资源)

还应考虑哪些其他办法

cron工作听起来是个不错的方法。另一种方法可能是使用某种守护程序,包含数据的服务器可以在每次数据更新时通知该守护程序

人们在Linux上使用什么方法来执行数据等任务 转型与整合

我通常使用PHP。总的来说,我认为最好是使用任何能让工作顺利完成并且你能熟练使用的工具。由于您的大部分经验都是在.NET中完成的,您可能想看看是否可以在.NET中完成大部分工作

该任务实质上是从远程源下载一个文件, 执行一些验证并输出XML或CSV文件

在我看来,PHP非常适合这种任务。用PHP解析XML或CSV文件非常容易——请查看XML和PHP文件

我应该每分钟运行一个CRON作业来调用PHP吗 哪一页做所有的工作?超时和长时间运行的作业会发生什么情况

我认为做一个cron工作是一个不错的选择。正如mephisto123所指出的,你可以,这就是你想要做的。CLI脚本不会像页面那样超时。它们可以永远运行(前提是您没有耗尽内存或资源)

还应考虑哪些其他办法


cron工作听起来是个不错的方法。另一种方法可能是使用某种守护程序,包含数据的服务器可以在每次数据更新时通知它。

这听起来是一个很好的开始;我不知道我能在没有web服务器的情况下运行PHP。我仍然渴望听到其他的建议。这听起来是一个好的开始;我不知道我能在没有web服务器的情况下运行PHP。我仍然渴望听到其他的建议。谢谢你的反馈。虽然我同意我应该用.NET编码,因为这是我所知道的,但我认为在已经有Linux服务器的情况下,仅仅为了托管.NET应用程序而使用服务器是没有意义的。我会尝试用PHP把一些东西组合起来,否则我会把它传递给其他人。谢谢你的反馈。虽然我同意我应该在.NETA中编写它