בעיה בהעלאה להירוקו על אתר קיים

תגיות: ,

את מעלה דברים דרך ה־git או בצורה אחרת? אם דרך ה־git, אפשר קישור ל־repo?

דרך git

למה בשורה של ה־import כתוב from models import models?
לא מצאתי משתנה בשם models בתוך קובץ ה־models.
אני מפספס משהו?

לא, אתה לא מפספס, זה נשאר שם אחרי הניסיון לשים נקודה לפני הmodels

בודקת את זה

תיקנתי גם ב models לimport private, לא עזר

log:

2020-12-09T22:05:19.827474+00:00 app[web.1]:     time.sleep(0.1)
2020-12-09T22:05:19.827475+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 242, in handle_chld
2020-12-09T22:05:19.827752+00:00 app[web.1]:     self.reap_workers()
2020-12-09T22:05:19.827756+00:00 app[web.1]:   File "/app/.heroku/python/lib/python3.6/site-packages/gunicorn/arbiter.py", line 525, in reap_workers
2020-12-09T22:05:19.828305+00:00 app[web.1]:     raise HaltServer(reason, self.WORKER_BOOT_ERROR)
2020-12-09T22:05:19.828339+00:00 app[web.1]: gunicorn.errors.HaltServer: <HaltServer 'Worker failed to boot.' 3>
2020-12-09T22:05:19.900038+00:00 heroku[web.1]: Process exited with status 1
2020-12-09T22:05:19.949102+00:00 heroku[web.1]: State changed from up to crashed
2020-12-09T22:05:20.000000+00:00 app[api]: Build succeeded
2020-12-09T22:05:29.069444+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=seriesweb.herokuapp.com request_id=7b6ad8ba-c991-48d8-b0af-cef471b41d97 fwd="77.137.154.227" dyno= connect= service= status=503 bytes= protocol=https

אני רואה שלא העלית את הקובץ private.py לגיטהאב, שזה אחלה וחשוב מאוד.

השאלה היא איך הוא עולה להארוקו?

אם הוא נמצא בgitignore ומעלים דרך git ל heroku, זה לא הדבר שיש לעשות?

אם לא, עליי להכניס את host, post, password וכו גם בתוך config vars?

הקובץ gitignore כשמו כן הוא – דואג ש־git יתעלם מקובץ מסוים.

תצטרכי להשתמש במשתני הסביבה של Heroku כדי להגדיר את החיבור ל־DB,
זה יהיה בוודאות יותר קל מלנסות להעלות קובץ שלא כלול ב־git :slight_smile:

האם הכוונה שעליי להוסיף לפה את
database, host,post, password?

והאם עליי לשנות משהו בקוד הפייתון?

אני חושב שבשלב הזה מוטב שתנסי לפתור את הבעיות שעלו בעצמך – אלו דברים שיש לגביהם הרבה מאוד מידע באינטרנט :slight_smile:

אני יודעת שיש מידע, מחפשת המון, גם תוך שיחה איתך :slight_smile: אני פשוט כבר אובדת עצות כיוון שההגשה הינה למחר וחבל לי שהתרגיל יעלה לא במלואו, אומנם עם כל הקבצים הנדרשים, אך ללא קישור לאתר שעלה במקרה ואני לא מצליחה לפתור את הבעיה.

נתקלנו פה בבערך 10 בעיות בפרויקט, חלקן היו באמת מסובכות שהיו עשויות לקחת לך הרבה זמן לפתור, וחלקן פשוטות יותר, שאני משוכנע שאת מספיק מוכשרת כדי לפתור בקלות.
עזרתי והרצתי קדימה כדי שתגיעי למצב שלדעתי פיזיבילי לסיים בו את הפרויקט עד מחר, ואני חושב שהשלב שבו את נמצאת הוא אחלה ואפשר להתקדם ממנו בלי המון מאמץ.

אני חושב שאם אפתור את כל הבעיות בפרויקט, את תפיקי ממנו מעט וזה יחטא מאוד למטרה של הפרויקט.
חלק הארי בפרויקט הוא להצליח לדבג שגיאות ולהתמודד עם קשיים כמו שעלו לך לבד. בסופו של דבר זה ממש נתח משמעותי ממה שעושים מתכנתים, וזו ה־הזדמנות בקורס לתרגל את זה.
זה לא קל אבל אין לי ספק שמהנקודה הזו את לגמרי מסוגלת לעשות את זה בכוחות עצמך :slight_smile:

אתה צודק לגמרי, חלק גדול מלמידה היא להתמודד עם הבעיה לבד. אני פשוט בלחץ שהגעתי עד נקודה זו בקורס ולא אצליח להגיש תרגיל במלואו.
עזרת לי מאוד, עם בעיות שהיו לוקחות לי המון זמן למצוא, אם בכלל, אני שוב מאוד מאוד מודה לך ומאוד מעריכה על הסבלנות והזמינות וכל העזרה, ואני מתכוונת להמשיך ולנסות, האם ניתן לקבל שוב את עזרתך אם עד מחר בצהריים עדיין לא אצליח לגרום לאתר לעלות בבקשה?

לייק 1

אני אשתדל לעזור, אבל בבקשה תעשי את המיטב כדי להתמודד עם זה לבד ואל תסתמכי על העזרה שלי.
יש המון חומר על הנקודה שאת נמצאת בה באינטרנט, באמת, אני לא סתם אומר.

לייק 1

בטוחה שאתה לא סתם אומר, ואני אמשיך לנסות, אשאל רק במידה שלא אדע עוד מה לחפש.

שוב, המון המון המון תודה!

היי ים,
מבקשת שוב עזרה,
הנה השלבים שעברתי:

  1. לאחר חיפוש בגוגל ויוטוב, ראיתי כי יש להגדיר את כל המשתנים באתר הירוקו, הכנסתי , HOST,POST,DATABASE,USER,PASSWORD ובכל אחד מהם את הערכים שהירוקו נתן.
    לאחר מכן הלכתי לקוד שלי ורשמתי בקובץ models.py:

DATABASE = os.environ.get('DATABASE')

USER = os.environ.get('USER')

PORT = os.environ.get('PORT')

HOST = os.environ.get('HOST')

PASSWORD = os.environ.get('PASSWORD')

database = PostgresqlDatabase(

    DATABASE,

    user=USER,

    password=PASSWORD,

    host=HOST,

    port=PORT,

)

אך הדבר לא עזר. אני מקבלת את הודעת השגיאה הבאה:

2020-12-10T07:25:00.425086+00:00 app[web.1]:     conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
2020-12-10T07:25:00.425086+00:00 app[web.1]: peewee.OperationalError: could not connect to server: Connection refused
2020-12-10T07:25:00.425086+00:00 app[web.1]: 	Is the server running on host "ec2-54-157-66-140.compute-1.amazonaws.com" (10.79.195.187) and accepting
2020-12-10T07:25:00.425086+00:00 app[web.1]: 	TCP/IP connections on port 25907?
2020-12-10T07:25:00.425658+00:00 app[web.1]: 
2020-12-10T07:25:00.426632+00:00 app[web.1]: [2020-12-10 07:25:00 +0000] [11] [INFO] Worker exiting (pid: 11)
2020-12-10T07:25:00.614929+00:00 app[web.1]: [2020-12-10 07:25:00 +0000] [4] [INFO] Shutting down: Master
2020-12-10T07:25:00.618773+00:00 app[web.1]: [2020-12-10 07:25:00 +0000] [4] [INFO] Reason: Worker failed to boot.
2020-12-10T07:25:00.749838+00:00 heroku[web.1]: Process exited with status 3
2020-12-10T07:25:00.794693+00:00 heroku[web.1]: State changed from starting to crashed

ניסיתי גם להוסיף כפי שהירוקו מציע ולא עזר:

DATABASE_URL = os.environ['DATABASE_URL']

conn = psycopg2.connect(DATABASE_URL, sslmode='require')

ניסיתי לשנות את הפורט לפורט שרשום ( ה host שרשום אכן ה host שלי), גם לא עזר, חיפשתי בגוגל ונראה כי ההגדרות שרשמתי בצורתם נכונות. ניתן לקבל בבקשה הכוונה נוספת?

תודה!

היי עדי האם הסתדר לך ההערה הזו ?

היי אביעד,

לא, עדיין מנסה לחפש בגוגל איך לפתור אותה.
אני יודעת שהאתר עובד כי הוא עבד כשהיה על שרת מקומי והצלחתי לקבל מידע ממסד הנתונים שהעלתי להירוקו.
הבעיה היא בהעלאה של האתר להירוקו, שלא עולה דבר ומופיעות השגיאות שצירפתי בהודעה האחרונה.

האם הגדרת את משתני הסביבה בהרוקו?

כן בדקתי מספר פעמים והם מוגדרים