相关疑难解决方法(0)

在Windows上使用PHP进行分叉

我们在Windows服务器上运行PHP(确实是许多问题的根源,但目前不是迁移选项).有几点需要用户启动的操作才能启动一些需要一段时间的事情以及用户在成功或失败时不需要知道的事情,例如发送电子邮件或确认一些第三方帐户已更新.如果我可以使用fork pcntl_fork(),这将非常简单,但PCNTL功能在Windows中不可用.

似乎我能得到的最接近的是做这种性质的事情:

exec( 'php-cgi.exe somescript.php' );
Run Code Online (Sandbox Code Playgroud)

但是,这会复杂得多.我需要开始的行动依赖于已经存在于运行过程中的大量上下文; 使用上面的例子,我需要找出基本数据并以某种方式将它提供给新脚本.如果我可以分叉,那只是让父进程提前返回,让孩子继续处理更多事情.

我发现有一些人在谈论他们自己在Windows上编译各种PCNTL函数的工作,但似乎没有任何东西可用(破坏的链接等).

尽管这个问题与我的名字几乎同名,但似乎问题是执行超时比需要分叉更多.所以,我最好选择重构一下来处理调用php-cgi,还是有其他选择?

编辑:似乎exec()不适用于此,至少在没有我弄清楚它的其他方面时,因为它等待直到调用返回.我想我可以使用START,有点像exec( 'start php-cgi.exe somescript.php' );,但它仍然等待,直到另一个脚本完成.

php windows fork

13
推荐指数
1
解决办法
1万
查看次数

在字符串中查找关键字和关键短语的算法

我需要有关如何编写算法的建议或指示,该算法将在字符串中找到关键字或关键字.

该字符串包含:

  • 用英文写的技术信息(GB)
  • 单词大多由空格分隔
  • 关键字不包含的空间,但它可以包含一个连字符,撇号,冒号等
  • 关键短语可以包含空格,逗号或其他标点符号
  • 如果两个或多个关键字一起出现,则可能是一个关键短语,例如"逆变器驱动"
  • 该文本还包含HTML,但如有必要,可以事先删除
  • 非关键字将是"and","the","we","see","look"等字样.
  • 关键字不区分大小写,例如"逆变器"和"逆变器"是相同的关键字

该算法具有以下要求:

  1. 批处理场景中操作,例如每天运行一次或两次
  2. 处理字符串的长度从大约200到7000个字符不等
  3. 在不到1小时内处理1000个字符串
  4. 将在具有中等功率的服务器上执行
  5. 写在以下之一:C#,VB.NET或T-SQL甚至可能是F#,Python或Lua等.
  6. 依赖于预定义关键字或关键短语列表
  7. 但可以依赖关键字排除列表,例如"和","the","go"等.
  8. 理想情况下可转换为其他语言,例如,不依赖于语言特定的功能,例如元编程
  9. 输出关键短语列表(频率降序),后跟关键字列表(频率降序)

如果它可以在几秒钟内处理多达8000个字符,那将是非常酷的,所以它可以实时运行,但我已经足够了!

只是寻找建议和方向:

  • 这应该被视为两个独立的算法吗?
  • 有没有我可以遵循的既定算法?
  • 我的要求可行吗?

非常感谢.

PS将从SQL Server 2008 R2数据库中检索字符串,因此理想情况下该语言将支持此功能,否则它必须能够读取/写入STDOUT,管道,流或文件等.

c# sql sql-server algorithm search

12
推荐指数
1
解决办法
1万
查看次数

标签 统计

algorithm ×1

c# ×1

fork ×1

php ×1

search ×1

sql ×1

sql-server ×1

windows ×1