Settings

  • Python version: 3.11.17

  • default_settings.py

    /usr/local/lib/python3.11/site-packages/scrapydweb/default_settings.py

  • user settings

    /app/scrapydweb_settings_v11.py

  • main_pid: 1

  • logparser_pid: 8

  • poll_pid: 9

    ScrapydWeb

    • version: 1.6.0

    • * server *

      {
          "SCRAPYDWEB_BIND": "0.0.0.0",
          "SCRAPYDWEB_PORT": 5000,
          "URL_SCRAPYDWEB": "http://127.0.0.1:5000",
          "ENABLE_AUTH": False,
          "USERNAME": "",
          "PASSWORD": ""
      }
    • ENABLE_HTTPS = False

      {
          "CERTIFICATE_FILEPATH": "",
          "PRIVATEKEY_FILEPATH": ""
      }

    Scrapy

    • version: 0.0.0

    • SCRAPY_PROJECTS_DIR

      /opt/containers/scrapy/scrapyd_jobs

    Scrapyd

    • version: 0.0.0

    • * servers *

      {
          "": [
              "scrapyd:6800"
          ]
      }
    • CHECK_SCRAPYD_SERVERS = False

    • LOCAL_SCRAPYD_SERVER

      scrapyd:6800
    • LOCAL_SCRAPYD_LOGS_DIR

      /var/log/
    • SCRAPYD_LOG_EXTENSIONS

      ['.log', '.log.gz', '.txt']

    LogParser

    • version: 0.8.4

    • ENABLE_LOGPARSER = True

    • settings.py

      /usr/local/lib/python3.11/site-packages/logparser/settings.py

    • BACKUP_STATS_JSON_FILE = True

    Timer tasks

    • scheduler.state: STATE_RUNNING

    • JOBS_SNAPSHOT_INTERVAL = 300

    • CHECK_TASK_RESULT_INTERVAL = 300

    • KEEP_TASK_RESULT_LIMIT = 1000

    • KEEP_TASK_RESULT_WITHIN_DAYS = 31

    Run Spider

    • details

      {
          "SCHEDULE_EXPAND_SETTINGS_ARGUMENTS": False,
          "SCHEDULE_CUSTOM_USER_AGENT": "Mozilla/5.0",
          "SCHEDULE_USER_AGENT": None,
          "SCHEDULE_ROBOTSTXT_OBEY": None,
          "SCHEDULE_COOKIES_ENABLED": None,
          "SCHEDULE_CONCURRENT_REQUESTS": None,
          "SCHEDULE_DOWNLOAD_DELAY": None,
          "SCHEDULE_ADDITIONAL": "-d setting=CLOSESPIDER_TIMEOUT=60\r\n-d setting=CLOSESPIDER_PAGECOUNT=10\r\n-d arg1=val1"
      }

    Page Display

    • details

      {
          "SHOW_SCRAPYD_ITEMS": True,
          "SHOW_JOBS_JOB_COLUMN": True,
          "JOBS_FINISHED_JOBS_LIMIT": 0,
          "JOBS_RELOAD_INTERVAL": 300,
          "DAEMONSTATUS_REFRESH_INTERVAL": 10
      }

    Send Text

    • Slack

      {
          "SLACK_TOKEN": "",
          "SLACK_CHANNEL": "general"
      }
    • Telegram

      {
          "TELEGRAM_TOKEN": "****013728:AAFt--1DP0Xnu-VQCLAcH0-X7HXDPUW****",
          "TELEGRAM_CHAT_ID": 7249076927
      }
    • Email

      {
          "EMAIL_SUBJECT": "Email from #scrapydweb"
      }
    • email sender & recipients

      {
          "EMAIL_USERNAME": "",
          "EMAIL_PASSWORD": "",
          "EMAIL_SENDER": "",
          "EMAIL_RECIPIENTS": [
              ""
          ]
      }
    • email smtp settings

      {
          "SMTP_SERVER": "",
          "SMTP_PORT": 0,
          "SMTP_OVER_SSL": False,
          "SMTP_CONNECTION_TIMEOUT": 30
      }

    Monitor & Alert

    • ENABLE_MONITOR = True

    • poll interval

      {
          "POLL_ROUND_INTERVAL": 300,
          "POLL_REQUEST_INTERVAL": 10
      }
    • alert switcher

      {
          "ENABLE_SLACK_ALERT": False,
          "ENABLE_TELEGRAM_ALERT": False,
          "ENABLE_EMAIL_ALERT": False
      }
    • alert working time

      [
          {
              "ALERT_WORKING_DAYS": "[1, 2, 3, 4, 5, 6, 7]",
              "remark": "Monday is 1 and Sunday is 7"
          },
          {
              "ALERT_WORKING_HOURS": "[6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]",
              "remark": "From 0 to 23"
          }
      ]
    • triggers

      {
          "ON_JOB_RUNNING_INTERVAL": 0,
          "ON_JOB_FINISHED": True,
          "CRITICAL": {
              "LOG_CRITICAL_THRESHOLD": 0,
              "LOG_CRITICAL_TRIGGER_STOP": False,
              "LOG_CRITICAL_TRIGGER_FORCESTOP": False
          },
          "ERROR": {
              "LOG_ERROR_THRESHOLD": 0,
              "LOG_ERROR_TRIGGER_STOP": False,
              "LOG_ERROR_TRIGGER_FORCESTOP": False
          },
          "WARNING": {
              "LOG_WARNING_THRESHOLD": 0,
              "LOG_WARNING_TRIGGER_STOP": False,
              "LOG_WARNING_TRIGGER_FORCESTOP": False
          },
          "REDIRECT": {
              "LOG_REDIRECT_THRESHOLD": 0,
              "LOG_REDIRECT_TRIGGER_STOP": False,
              "LOG_REDIRECT_TRIGGER_FORCESTOP": False
          },
          "RETRY": {
              "LOG_RETRY_THRESHOLD": 0,
              "LOG_RETRY_TRIGGER_STOP": False,
              "LOG_RETRY_TRIGGER_FORCESTOP": False
          },
          "IGNORE": {
              "LOG_IGNORE_THRESHOLD": 0,
              "LOG_IGNORE_TRIGGER_STOP": False,
              "LOG_IGNORE_TRIGGER_FORCESTOP": False
          }
      }

    System

    • DEBUG = False

    • VERBOSE = False

    • DATA_PATH

      /opt/containers/scrapy/DATA
    • DATABASE

      {
          "APSCHEDULER_DATABASE_URI": "sqlite:////opt/containers/scrapy/DATA/database/apscheduler.db",
          "SQLALCHEMY_DATABASE_URI": "sqlite:////opt/containers/scrapy/DATA/database/timer_tasks.db",
          "SQLALCHEMY_BINDS_METADATA": "sqlite:////opt/containers/scrapy/DATA/database/metadata.db",
          "SQLALCHEMY_BINDS_JOBS": "sqlite:////opt/containers/scrapy/DATA/database/jobs.db"
      }