teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

質問を詳しく

2016/11/18 21:47

投稿

adwadwadw
adwadwadw

スコア56

title CHANGED
File without changes
body CHANGED
@@ -1,19 +1,60 @@
1
1
  ```Node
2
+ var Twitter = require('twitter');
2
3
  var mysql = require('mysql');
4
+
5
+ var connection = mysql.createConnection({
6
+ host: "localhost",
7
+ user: "root",
8
+ database: "db"
9
+ });
10
+
11
+ var client = new Twitter({
12
+ consumer_key: key,
13
+ consumer_secret: secret,
14
+ access_token_key:key,
15
+ access_token_secret: secret
16
+ });
17
+ var maxId;
18
+ function getTweet() {
19
+ return new Promise(function(resolve,reject) {
20
+ connection.query('SELECT MIN(tweet_id) FROM Tweets;',function(error,result,fields){
21
+ maxId = result[0]["MIN(tweet_id)"];
22
+ if (result) resolve(maxId);
23
+ if (error) reject(error);
24
+ });
25
+ });
26
+ }
27
+ getTweet().then(function(maxId) {
28
+ var params = {q: 'user',count:5,max_id_str:maxId};
29
+ client.get('search/tweets', params, function(error, tweets, response) {
30
+
31
+ if(!error){
32
+ var tweets_length = tweets["statuses"].length;
3
- for(var i = 1;i < tweets_length;i++){
33
+ for(var i = 1;i < tweets_length;i++){
4
34
  tweet_id = tweets["statuses"][i]["id_str"];
5
35
  screen_name = tweets["statuses"][i]["user"]["screen_name"];
6
36
  text = tweets["statuses"][i]["text"];
7
-
37
+ //var url = 'https://twitter.com/' + screen_name + '/status/' + tweet_id;
8
38
  if(screen_name === "user"){
9
39
  console.log("user発見");
10
40
  break;
11
41
  }else{
12
42
  connection.query('INSERT INTO Tweets(`tweet_id`,`name`,`text`) VALUES(?,?,?)',[tweet_id,screen_name,text],function(error,results,fields){
43
+ connection.destory();
13
44
  if(error)console.log(error);
14
45
  });
15
46
  }
16
47
  }
48
+
49
+ }
50
+ });
51
+ }).catch(function(err){
52
+ console.log(err);
53
+ });
54
+
17
55
  ```
18
56
 
19
- Lambdaでこのプログラムを実行するためにはdestoryしないといけないのですがどうdestoryしたらいいのでしょうか?Lambdaではdestoryしないとtimeoutになります。
57
+ Lambdaでこのプログラムを実行するためにはdestoryしないといけないのですがどうdestoryしたらいいのでしょうか?Lambdaではdestoryしないとtimeoutになります。
58
+ これだと1個目のInsertは可能なのですが、2個目はInsertできません。
59
+ This socket is closedとエラーが出ます。
60
+ どうdestoryしたらいいですか?