我有两个程序foo.py and bar.py
正在运行foo.py creates a file foo_cur_timestamp.txt
和bar.py creates a file bar_cur_timestamp.txt
这些实际上是使用twitter流式api收集的推文 这些推文被刷新到文件中,这样文件中的行数就会不断增长(而不是像文件最后写的那样,而是实时写入)
现在..有时会发生什么foo.py和bar.py会收集40k的推文,它会触及twitter api上限而twitter会抛出一个错误,我必须重新启动程序(%python foo.py or bar.py
),但有时只会这样。 。
运行该程序将创建一个新文件(因为cur_timestamp现在不同了)..
我想自动执行这些步骤..
1)每1分钟计算当前正在写入的文件中的行数(基本上是前缀为foo_ .....txt and bar_....txt
的文件)
2)如果文件中的行数达到40k并且没有增长..那么再次启动相关程序。
我该怎么做?
答案 0 :(得分:1)
*/1 * * * × wc -l foo*txt |awk '{ if( $2=="total" && $1 >=400000) { system("python foo.py") } }'
*/1 * * * × wc -l bar*txt |awk '{ if( $2=="total" && $1 >=400000) { system("python bar.py") } }'