У меня очень простая программа, которая отправляет POST на мой сервер на Godaddy с помощью Volley. Я создал несколько запросов в цикле. Код отлично работает для первых нескольких запросов, но случайным образом дает ошибку 503. Существует конкретная модельAndroid volley error 503 после 40 запросов POST
Моей таблица имеет только один столбец, т.е. имя пользователя
Я искал везде почти 2 дней, чтобы выяснить, почему я получаю сообщение об ошибке 503. Я понимаю, что это из-за проблемы с сервером, но я не могу понять, в чем проблема.
Вот мой код
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import com.android.volley.AuthFailureError;
import com.android.volley.Request;
import com.android.volley.RequestQueue;
import com.android.volley.Response;
import com.android.volley.VolleyError;
import com.android.volley.toolbox.StringRequest;
import com.android.volley.toolbox.Volley;
import java.util.HashMap;
import java.util.Map;
public class MainActivity extends AppCompatActivity {
Button btnInsertData;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btnInsertData = (Button) findViewById(R.id.button);
btnInsertData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int counter = 1;
while(counter<=20){
insertData("user" + counter);
counter++;
}
}
});
}
private void insertData(final String data){
String url = "http://...php";
StringRequest stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Log.i("Volley response", response);
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
try{
Log.i("Volley Error", error.getMessage());
}catch(Exception e){
Log.i("Volley Error", "No error found");
}
}
}) {
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<String,String>();
map.put("userName",data);
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(getApplicationContext());
requestQueue.add(stringRequest).setShouldCache(false);
Log.i("Status:", "Request created");
}
}
Это мой файл PHP
include_once './db_functions.php';
$db = new DB_Functions();
$user = $_POST["userName"];
$query = "INSERT INTO testTable (userName) VALUES ('".$user."')";
$result = mysql_query($query);
echo "status_new: ".$result." query: ".$query;
Это ошибка, я получаю
01-03 22:07:37.936 4434-8440/com.qallify.testapplicationvolley E/Volley: [7441] BasicNetwork.performRequest: Unexpected response code 503 for http://....php
Спасибо @swordbeta Я сейчас на уровне 1, который, кажется, разрешает 100 одновременных запросов (в соответствии с предоставленной вами ссылкой). Я получаю ошибки, даже когда я запускаю код для 20 запросов. –
Вам нужно будет посмотреть журналы сервера, чтобы узнать, что не так. – swordbeta
Ошибки в ошибке 503. Ошибки отсутствуют. Ошибки, возникшие при создании файла php, который я уже установил –