2017-08-30 5 views
0

私は毎晩R BATCHスクリプトを実行しているヘッドレスのDebian 9サーバを持っています。基本的にGmailアカウントから添付データを取り出して夜間のレポートを作成します。これは長い間完璧に動作しています。しかし、約1週間前に停止しました。私は確かに言うことはできませんが、Debianのバージョン9のメジャーアップデートと一致するかもしれません...Rライブラリgmailrの関数 'gmail_auth'が動作を停止しました

スクリプトが行う最初のことの1つは、gmailアカウントを認証することです。

library(gmailr) 
gmail_auth(secret_file = 'lib/secret.json') 

しかし、それは私に与えて、ためらうことなく一時的に停止させます:このようにそれを見てから、

Error in httpuv::startServer(use$host, use$port, list(call = listen)) : 
    Failed to create server 
Calls: gmail_auth ... init_oauth2.0 -> oauth_authorize -> oauth_listener -> <Anonymous> 
Execution halted 

、エラーがhttpuvから来ています。ですから、私はそれを樹脂製にしました:

devtools::install_github(c("shiny", "httpuv"), "rstudio") 

しかし、愛はありません。

私のローカルLinuxボックスでは、エラーなしでgmail_auth呼び出しを実行できます。これは「Linux Mint 17.3 Rosa」です。

多分関連:

Shiny runExample Error - Fail to create server

LOCAL BOX:

sessionInfo() 
R version 3.4.1 (2017-06-30) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Ubuntu 14.04.5 LTS 

Matrix products: default 
BLAS: /usr/lib/libblas/libblas.so.3.0 
LAPACK: /usr/lib/lapack/liblapack.so.3.0 

locale: 
[1] LC_CTYPE=en_US.UTF-8   LC_NUMERIC=C     
[3] LC_TIME=en_US.UTF-8   LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=sv_SE.UTF-8  LC_MESSAGES=en_US.UTF-8  
[7] LC_PAPER=sv_SE.UTF-8   LC_NAME=sv_SE.UTF-8   
[9] LC_ADDRESS=sv_SE.UTF-8  LC_TELEPHONE=sv_SE.UTF-8  
[11] LC_MEASUREMENT=sv_SE.UTF-8 LC_IDENTIFICATION=sv_SE.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] gmailr_0.7.1  extrafont_0.17  ReporteRs_0.8.8  
[4] ReporteRsjars_0.0.2 DBI_0.7    rjson_0.2.15  

loaded via a namespace (and not attached): 
[1] zip_1.0.0   Rcpp_0.12.12  compiler_3.4.1 plyr_1.8.4  
[5] bindr_0.1   R.methodsS3_1.7.1 R.utils_2.5.0  base64enc_0.1-3 
[9] tools_3.4.1  digest_0.6.12  uuid_0.1-2  tibble_1.3.4  
[13] gtable_0.2.0  pkgconfig_2.0.1 png_0.1-7   rlang_0.1.2  
[17] shiny_1.0.5  bindrcpp_0.2  Rttf2pt1_1.3.4 rJava_0.9-8  
[21] httr_1.3.1  officer_0.1.5  dplyr_0.7.2  xml2_1.1.1  
[25] knitr_1.17  gdtools_0.1.5  grid_3.4.1  glue_1.1.1  
[29] R6_2.2.2   rvg_0.1.4   extrafontdb_1.0 ggplot2_2.2.1  
[33] purrr_0.2.3  magrittr_1.5  scales_0.5.0  htmltools_0.3.6 
[37] assertthat_0.2.0 xtable_1.8-2  mime_0.5   colorspace_1.3-2 
[41] httpuv_1.3.5  lazyeval_0.2.0 munsell_0.4.3  R.oo_1.21.0  

DEBIAN SERVER:

sessionInfo() 
R version 3.3.3 (2017-03-06) 
Platform: x86_64-pc-linux-gnu (64-bit) 
Running under: Debian GNU/Linux 9 (stretch) 

locale: 
[1] LC_CTYPE=en_US.UTF-8   LC_NUMERIC=C     
[3] LC_TIME=en_US.UTF-8   LC_COLLATE=en_US.UTF-8  
[5] LC_MONETARY=sv_SE.UTF-8  LC_MESSAGES=en_US.UTF-8  
[7] LC_PAPER=sv_SE.UTF-8   LC_NAME=sv_SE.UTF-8   
[9] LC_ADDRESS=sv_SE.UTF-8  LC_TELEPHONE=sv_SE.UTF-8  
[11] LC_MEASUREMENT=sv_SE.UTF-8 LC_IDENTIFICATION=sv_SE.UTF-8 

attached base packages: 
[1] stats  graphics grDevices utils  datasets methods base  

other attached packages: 
[1] gmailr_0.7.1  extrafont_0.17  ReporteRs_0.8.8  
[4] ReporteRsjars_0.0.2 DBI_0.7    RMariaDB_0.11-6  
[7] rjson_0.2.15  

loaded via a namespace (and not attached): 
[1] zip_1.0.0   Rcpp_0.12.12  plyr_1.8.4  bindr_0.1   
[5] R.methodsS3_1.7.1 R.utils_2.5.0  base64enc_0.1-3 tools_3.3.3  
[9] digest_0.6.12  uuid_0.1-2  tibble_1.3.4  gtable_0.2.0  
[13] pkgconfig_2.0.1 png_0.1-7   rlang_0.1.2  shiny_1.0.5.9000 
[17] bindrcpp_0.2  Rttf2pt1_1.3.4 rJava_0.9-8  httr_1.3.1  
[21] officer_0.1.5  dplyr_0.7.2  xml2_1.1.1  knitr_1.17  
[25] gdtools_0.1.5  grid_3.3.3  glue_1.1.1  R6_2.2.2   
[29] rvg_0.1.4   extrafontdb_1.0 ggplot2_2.2.1  purrr_0.2.3  
[33] magrittr_1.5  scales_0.5.0  htmltools_0.3.6 assertthat_0.2.0 
[37] xtable_1.8-2  mime_0.5   colorspace_1.3-2 httpuv_1.3.5  
[41] lazyeval_0.2.0 munsell_0.4.3  R.oo_1.21.0 

答えて

0

[OK]を、日の作業は最終的にそれを解決しました。私は思う...

Rは1410ポートをブロックしていました。そして私が見つけたことから、このポートはhttpuvに必要です。しかし、Rプロセスを終了した後、新しいエラーが発生しました。 httpuvサーバーが始まったようですが、gmailr認証をWebブラウザから再実行する必要があり、新しい.httr-authが生成されました。

waiting for authentication in browser...状態で私のヘッドレスDebianサーバでRが凍結し、実質的にポート1410をブロックしていると推測しています。私のラップトップ(ミントマシン)で認証プロセスを経て、.httr-authをヘッドレスサーバーに移動すると、すべてが機能しているようです。

これがどうして起こったのかわからない。しかし、今からすべてがうまくいくなら、私は無知を受け入れるでしょう!指が交差した。

関連する問題