'ftp_get: Membuka koneksi data mode BINARY' - terjadi pada satu file dalam satu batch

Saya memiliki pengaturan pekerjaan cron yang menggunakan skrip untuk mengunduh banyak file dari FTP ke server lokal pada waktu yang ditentukan. Ini berfungsi dengan baik ketika saya menjalankan skrip secara manual, bahkan berfungsi dengan baik 9 dari 10 kali melalui cron. Namun, kadang-kadang salah satu file yang disetel gagal, dan memunculkan kesalahan serupa:

ftp_get(): Opening BINARY mode data connection for Media_4.zip (421623342 bytes). in /home/crons/feeds/get_files.php on line 102

baris 102 adalah ftp_get(), saya tahu tidak ada yang salah dengan itu karena berfungsi dengan baik ketika dijalankan secara manual/upaya otomatis lainnya, tetapi untuk kejelasan penuh:

foreach ($download_files as $download_file)
{
  $local_file = "{$path}/files/{$download_file}";
  $download = ftp_get($conn_id, $local_file, $download_file, FTP_BINARY);
  if (!$download) 
  {
    ftp_dl_log($queue_number, "FTP download has failed for $source_name: $download_file", "warn");
  } 
  else 
  {
    ftp_dl_log($queue_number, "Downloaded file successfully");
  }
}

Saya ragu ini ada hubungannya dengan ukuran file, izin, atau semacamnya, totalnya ada ~2gb tersebar di beberapa file total yang diunduh, terkadang sepertinya hanya gagal pada salah satu file, semua file lainnya diambil tanpa a masalah jadi saya cukup bingung. Contoh dari semua file adalah:

Media_1.zip (600mb, downloads fine)
Media_2.zip (200mb, downloads fine)
Media_3.zip (700mb, downloads fine)
Media_4.zip (400mb, downloads fails)
Media_5.zip (300mb, downloads fine)
Media_6.zip (250mb, downloads fine)
Media_summary.csv (2mb, downloads fine)

Pembatasan ukuran tidak menjadi masalah dan batas waktu juga tidak terjadi.

File yang saya gunakan sebagai contoh telah diunggah ke ftp @

Oct 31 17:27

dan ftp_get() untuk file tersebut muncul @

Nov 01 03:14

Jadi tidak mungkin file tersebut belum lengkap pada saat diminta. Dan mengingat saya dapat ftp_get() file yang sama tanpa kesalahan nantinya, itu tidak rusak.

Adakah yang mengetahui hal lain yang dapat menyebabkan masalah ini? Apakah server yang melakukan pengambilan lain secara bersamaan dapat menyebabkan masalah?

Setiap saran atau wawasan akan diterima.


person MLeFevre    schedule 01.11.2012    source sumber


Jawaban (1)


Saya rasa Anda mungkin sedang melihat masalah server. Jika Anda menjalankan feed seperti ini secara bersamaan, mungkin ada masalah beban.

Saya akan mencoba memantau beban server (menggunakan top atau htop) pada saat itu dan mungkin mendistribusikan ulang beberapa proses lain untuk memberi ruang bernapas lebih banyak pada proses ini.

person captain_G    schedule 09.11.2012
comment
Saya telah menyelidiki hal ini cukup lama dan inilah perasaan mendasar yang saya rasakan. Cronnya tidak terorganisir dengan baik, jadi saya akan mencobanya dan memberi tahu Anda jika itu membantu, terima kasih. - person MLeFevre; 09.11.2012